amaran-light-cli 1.3.6 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/README.md +39 -17
  2. package/dist/__tests__/autoCct.test.js +2 -2
  3. package/dist/__tests__/autoCct.test.js.map +1 -1
  4. package/dist/__tests__/autostart.test.js +1 -1
  5. package/dist/__tests__/autostart.test.js.map +1 -1
  6. package/dist/__tests__/cctUtil.test.js +2 -2
  7. package/dist/__tests__/cctUtil.test.js.map +1 -1
  8. package/dist/__tests__/intensityApi.test.js +4 -1
  9. package/dist/__tests__/intensityApi.test.js.map +1 -1
  10. package/dist/__tests__/lightControl.test.js +1 -1
  11. package/dist/__tests__/lightControl.test.js.map +1 -1
  12. package/dist/__tests__/simulateSchedule.test.js +2 -2
  13. package/dist/__tests__/simulateSchedule.test.js.map +1 -1
  14. package/dist/cli.d.ts +2 -2
  15. package/dist/cli.d.ts.map +1 -1
  16. package/dist/cli.js +4 -4
  17. package/dist/cli.js.map +1 -1
  18. package/dist/commands/__tests__/integration.test.js +1 -1
  19. package/dist/commands/__tests__/integration.test.js.map +1 -1
  20. package/dist/commands/cmdUtils.d.ts +23 -0
  21. package/dist/commands/cmdUtils.d.ts.map +1 -0
  22. package/dist/commands/cmdUtils.js +43 -0
  23. package/dist/commands/cmdUtils.js.map +1 -0
  24. package/dist/commands/daylightSimulation/autoCct.d.ts +5 -0
  25. package/dist/commands/daylightSimulation/autoCct.d.ts.map +1 -0
  26. package/dist/commands/{autoCct.js → daylightSimulation/autoCct.js} +12 -13
  27. package/dist/commands/daylightSimulation/autoCct.js.map +1 -0
  28. package/dist/commands/daylightSimulation/graphSchedule.d.ts +5 -0
  29. package/dist/commands/daylightSimulation/graphSchedule.d.ts.map +1 -0
  30. package/dist/commands/daylightSimulation/graphSchedule.js +65 -0
  31. package/dist/commands/daylightSimulation/graphSchedule.js.map +1 -0
  32. package/dist/commands/daylightSimulation/printSchedule.d.ts +5 -0
  33. package/dist/commands/daylightSimulation/printSchedule.d.ts.map +1 -0
  34. package/dist/commands/daylightSimulation/printSchedule.js +65 -0
  35. package/dist/commands/daylightSimulation/printSchedule.js.map +1 -0
  36. package/dist/commands/{service.d.ts → daylightSimulation/service.d.ts} +1 -1
  37. package/dist/commands/daylightSimulation/service.d.ts.map +1 -0
  38. package/dist/commands/{service.js → daylightSimulation/service.js} +47 -35
  39. package/dist/commands/daylightSimulation/service.js.map +1 -0
  40. package/dist/commands/{simulateSchedule.d.ts → daylightSimulation/simulateSchedule.d.ts} +1 -1
  41. package/dist/commands/daylightSimulation/simulateSchedule.d.ts.map +1 -0
  42. package/dist/commands/daylightSimulation/simulateSchedule.js +123 -0
  43. package/dist/commands/daylightSimulation/simulateSchedule.js.map +1 -0
  44. package/dist/commands/{cct.d.ts → deviceControl/cct.d.ts} +1 -1
  45. package/dist/commands/deviceControl/cct.d.ts.map +1 -0
  46. package/dist/commands/{cct.js → deviceControl/cct.js} +31 -36
  47. package/dist/commands/deviceControl/cct.js.map +1 -0
  48. package/dist/commands/{color.d.ts → deviceControl/color.d.ts} +1 -1
  49. package/dist/commands/deviceControl/color.d.ts.map +1 -0
  50. package/dist/commands/deviceControl/color.js +52 -0
  51. package/dist/commands/deviceControl/color.js.map +1 -0
  52. package/dist/commands/{config.d.ts → deviceControl/config.d.ts} +1 -1
  53. package/dist/commands/deviceControl/config.d.ts.map +1 -0
  54. package/dist/commands/{config.js → deviceControl/config.js} +11 -7
  55. package/dist/commands/deviceControl/config.js.map +1 -0
  56. package/dist/commands/{discover.d.ts → deviceControl/discover.d.ts} +1 -1
  57. package/dist/commands/deviceControl/discover.d.ts.map +1 -0
  58. package/dist/commands/{discover.js → deviceControl/discover.js} +8 -4
  59. package/dist/commands/deviceControl/discover.js.map +1 -0
  60. package/dist/commands/{hsi.d.ts → deviceControl/hsi.d.ts} +1 -1
  61. package/dist/commands/deviceControl/hsi.d.ts.map +1 -0
  62. package/dist/commands/deviceControl/hsi.js +50 -0
  63. package/dist/commands/deviceControl/hsi.js.map +1 -0
  64. package/dist/commands/{intensity.d.ts → deviceControl/intensity.d.ts} +1 -1
  65. package/dist/commands/deviceControl/intensity.d.ts.map +1 -0
  66. package/dist/commands/deviceControl/intensity.js +41 -0
  67. package/dist/commands/deviceControl/intensity.js.map +1 -0
  68. package/dist/commands/{list.d.ts → deviceControl/list.d.ts} +1 -1
  69. package/dist/commands/deviceControl/list.d.ts.map +1 -0
  70. package/dist/commands/{list.js → deviceControl/list.js} +7 -3
  71. package/dist/commands/deviceControl/list.js.map +1 -0
  72. package/dist/commands/{power.d.ts → deviceControl/power.d.ts} +1 -1
  73. package/dist/commands/deviceControl/power.d.ts.map +1 -0
  74. package/dist/commands/deviceControl/power.js +78 -0
  75. package/dist/commands/deviceControl/power.js.map +1 -0
  76. package/dist/commands/{status.d.ts → deviceControl/status.d.ts} +1 -1
  77. package/dist/commands/deviceControl/status.d.ts.map +1 -0
  78. package/dist/commands/deviceControl/status.js +48 -0
  79. package/dist/commands/deviceControl/status.js.map +1 -0
  80. package/dist/commands.d.ts +1 -1
  81. package/dist/commands.d.ts.map +1 -1
  82. package/dist/commands.js +18 -42
  83. package/dist/commands.js.map +1 -1
  84. package/dist/daylightSimulation/cctUtil.d.ts +5 -0
  85. package/dist/daylightSimulation/cctUtil.d.ts.map +1 -0
  86. package/dist/daylightSimulation/cctUtil.js +163 -0
  87. package/dist/daylightSimulation/cctUtil.js.map +1 -0
  88. package/dist/{constants.d.ts → daylightSimulation/constants.d.ts} +0 -18
  89. package/dist/daylightSimulation/constants.d.ts.map +1 -0
  90. package/dist/{constants.js → daylightSimulation/constants.js} +0 -13
  91. package/dist/daylightSimulation/constants.js.map +1 -0
  92. package/dist/daylightSimulation/curves/approximations.d.ts +19 -0
  93. package/dist/daylightSimulation/curves/approximations.d.ts.map +1 -0
  94. package/dist/daylightSimulation/curves/approximations.js +27 -0
  95. package/dist/daylightSimulation/curves/approximations.js.map +1 -0
  96. package/dist/daylightSimulation/curves/index.d.ts +15 -0
  97. package/dist/daylightSimulation/curves/index.d.ts.map +1 -0
  98. package/dist/daylightSimulation/curves/index.js +56 -0
  99. package/dist/daylightSimulation/curves/index.js.map +1 -0
  100. package/dist/daylightSimulation/curves/mathematical.d.ts +15 -0
  101. package/dist/daylightSimulation/curves/mathematical.d.ts.map +1 -0
  102. package/dist/daylightSimulation/curves/mathematical.js +33 -0
  103. package/dist/daylightSimulation/curves/mathematical.js.map +1 -0
  104. package/dist/daylightSimulation/curves/realistic.d.ts +43 -0
  105. package/dist/daylightSimulation/curves/realistic.d.ts.map +1 -0
  106. package/dist/daylightSimulation/curves/realistic.js +259 -0
  107. package/dist/daylightSimulation/curves/realistic.js.map +1 -0
  108. package/dist/daylightSimulation/geoipUtil.d.ts.map +1 -0
  109. package/dist/daylightSimulation/geoipUtil.js.map +1 -0
  110. package/dist/daylightSimulation/graphSchedule.d.ts +8 -0
  111. package/dist/daylightSimulation/graphSchedule.d.ts.map +1 -0
  112. package/dist/daylightSimulation/graphSchedule.js +94 -0
  113. package/dist/daylightSimulation/graphSchedule.js.map +1 -0
  114. package/dist/daylightSimulation/scheduleMaker.d.ts +36 -0
  115. package/dist/daylightSimulation/scheduleMaker.d.ts.map +1 -0
  116. package/dist/daylightSimulation/scheduleMaker.js +192 -0
  117. package/dist/daylightSimulation/scheduleMaker.js.map +1 -0
  118. package/dist/daylightSimulation/textSchedule.d.ts +9 -0
  119. package/dist/daylightSimulation/textSchedule.d.ts.map +1 -0
  120. package/dist/daylightSimulation/textSchedule.js +172 -0
  121. package/dist/daylightSimulation/textSchedule.js.map +1 -0
  122. package/dist/{cctUtil.d.ts → daylightSimulation/types.d.ts} +6 -5
  123. package/dist/daylightSimulation/types.d.ts.map +1 -0
  124. package/dist/daylightSimulation/types.js +16 -0
  125. package/dist/daylightSimulation/types.js.map +1 -0
  126. package/dist/deviceControl/autostart.d.ts.map +1 -0
  127. package/dist/deviceControl/autostart.js.map +1 -0
  128. package/dist/deviceControl/constants.d.ts +23 -0
  129. package/dist/deviceControl/constants.d.ts.map +1 -0
  130. package/dist/deviceControl/constants.js +20 -0
  131. package/dist/deviceControl/constants.js.map +1 -0
  132. package/dist/deviceControl/discovery.d.ts.map +1 -0
  133. package/dist/deviceControl/discovery.js.map +1 -0
  134. package/dist/deviceControl/lightControl.d.ts.map +1 -0
  135. package/dist/deviceControl/lightControl.js.map +1 -0
  136. package/dist/deviceControl/types.d.ts.map +1 -0
  137. package/dist/deviceControl/types.js.map +1 -0
  138. package/package.json +7 -2
  139. package/scripts/release.js +2 -2
  140. package/CHANGELOG.md +0 -63
  141. package/dist/autostart.d.ts.map +0 -1
  142. package/dist/autostart.js.map +0 -1
  143. package/dist/cctUtil.d.ts.map +0 -1
  144. package/dist/cctUtil.js +0 -431
  145. package/dist/cctUtil.js.map +0 -1
  146. package/dist/commands/autoCct.d.ts +0 -5
  147. package/dist/commands/autoCct.d.ts.map +0 -1
  148. package/dist/commands/autoCct.js.map +0 -1
  149. package/dist/commands/cct.d.ts.map +0 -1
  150. package/dist/commands/cct.js.map +0 -1
  151. package/dist/commands/color.d.ts.map +0 -1
  152. package/dist/commands/color.js +0 -57
  153. package/dist/commands/color.js.map +0 -1
  154. package/dist/commands/config.d.ts.map +0 -1
  155. package/dist/commands/config.js.map +0 -1
  156. package/dist/commands/discover.d.ts.map +0 -1
  157. package/dist/commands/discover.js.map +0 -1
  158. package/dist/commands/hsi.d.ts.map +0 -1
  159. package/dist/commands/hsi.js +0 -59
  160. package/dist/commands/hsi.js.map +0 -1
  161. package/dist/commands/intensity.d.ts.map +0 -1
  162. package/dist/commands/intensity.js +0 -50
  163. package/dist/commands/intensity.js.map +0 -1
  164. package/dist/commands/list.d.ts.map +0 -1
  165. package/dist/commands/list.js.map +0 -1
  166. package/dist/commands/power.d.ts.map +0 -1
  167. package/dist/commands/power.js +0 -120
  168. package/dist/commands/power.js.map +0 -1
  169. package/dist/commands/printSchedule.d.ts +0 -5
  170. package/dist/commands/printSchedule.d.ts.map +0 -1
  171. package/dist/commands/printSchedule.js +0 -424
  172. package/dist/commands/printSchedule.js.map +0 -1
  173. package/dist/commands/service.d.ts.map +0 -1
  174. package/dist/commands/service.js.map +0 -1
  175. package/dist/commands/simulateSchedule.d.ts.map +0 -1
  176. package/dist/commands/simulateSchedule.js +0 -199
  177. package/dist/commands/simulateSchedule.js.map +0 -1
  178. package/dist/commands/status.d.ts.map +0 -1
  179. package/dist/commands/status.js +0 -48
  180. package/dist/commands/status.js.map +0 -1
  181. package/dist/constants.d.ts.map +0 -1
  182. package/dist/constants.js.map +0 -1
  183. package/dist/discovery.d.ts.map +0 -1
  184. package/dist/discovery.js.map +0 -1
  185. package/dist/geoipUtil.d.ts.map +0 -1
  186. package/dist/geoipUtil.js.map +0 -1
  187. package/dist/lightControl.d.ts.map +0 -1
  188. package/dist/lightControl.js.map +0 -1
  189. package/dist/types.d.ts.map +0 -1
  190. package/dist/types.js.map +0 -1
  191. /package/dist/{geoipUtil.d.ts → daylightSimulation/geoipUtil.d.ts} +0 -0
  192. /package/dist/{geoipUtil.js → daylightSimulation/geoipUtil.js} +0 -0
  193. /package/dist/{autostart.d.ts → deviceControl/autostart.d.ts} +0 -0
  194. /package/dist/{autostart.js → deviceControl/autostart.js} +0 -0
  195. /package/dist/{discovery.d.ts → deviceControl/discovery.d.ts} +0 -0
  196. /package/dist/{discovery.js → deviceControl/discovery.js} +0 -0
  197. /package/dist/{lightControl.d.ts → deviceControl/lightControl.d.ts} +0 -0
  198. /package/dist/{lightControl.js → deviceControl/lightControl.js} +0 -0
  199. /package/dist/{types.d.ts → deviceControl/types.d.ts} +0 -0
  200. /package/dist/{types.js → deviceControl/types.js} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amaran-light-cli",
3
- "version": "1.3.6",
3
+ "version": "1.5.0",
4
4
  "type": "module",
5
5
  "description": "Command line tool for controlling Aputure Amaran lights via WebSocket to a local Amaran desktop app.",
6
6
  "main": "dist/lightControl.js",
@@ -19,6 +19,7 @@
19
19
  "prepublishOnly": "npm run clean && npm run build",
20
20
  "lint": "biome lint src/",
21
21
  "lint:fix": "biome lint --write src/",
22
+ "lint:deprecations": "eslint .",
22
23
  "format": "biome format --write src/",
23
24
  "format:check": "biome format src/",
24
25
  "check": "biome check src/",
@@ -57,6 +58,8 @@
57
58
  },
58
59
  "dependencies": {
59
60
  "chalk": "^5.3.0",
61
+ "chart.js": "^4.5.1",
62
+ "chartjs-node-canvas": "^5.0.0",
60
63
  "commander": "^14.0.0",
61
64
  "geoip-lite": "^1.4.10",
62
65
  "suncalc": "^1.9.0",
@@ -65,15 +68,17 @@
65
68
  "devDependencies": {
66
69
  "@biomejs/biome": "^2.3.8",
67
70
  "@types/geoip-lite": "^1.4.4",
68
- "@types/node": "^25.0.0",
71
+ "@types/node": "^24.0.0",
69
72
  "@types/node-localstorage": "^1.3.3",
70
73
  "@types/suncalc": "^1.9.0",
71
74
  "@types/ws": "^8.5.8",
72
75
  "@vitest/coverage-v8": "^4.0.15",
73
76
  "cross-env": "^10.1.0",
77
+ "eslint": "^9.39.2",
74
78
  "node-localstorage": "^3.0.5",
75
79
  "tsx": "^4.7.1",
76
80
  "typescript": "^5.2.2",
81
+ "typescript-eslint": "^8.50.0",
77
82
  "vitest": "^4.0.15"
78
83
  }
79
84
  }
@@ -28,7 +28,7 @@ const runCommand = (command) => {
28
28
  };
29
29
 
30
30
  const updateChangelog = async (version, releaseNotes) => {
31
- const changelogPath = path.join(__dirname, '../CHANGELOG.md');
31
+ const changelogPath = path.join(__dirname, '../docs/CHANGELOG.md');
32
32
  let changelog = '';
33
33
 
34
34
  try {
@@ -83,7 +83,7 @@ const main = async () => {
83
83
  await updateChangelog(newVersion, releaseNotes);
84
84
 
85
85
  // Commit changes
86
- runCommand('git add package.json CHANGELOG.md');
86
+ runCommand('git add package.json docs/CHANGELOG.md');
87
87
  runCommand(`git commit -m "chore(release): v${newVersion}"`);
88
88
  runCommand(`git tag -a v${newVersion} -m "v${newVersion}"`);
89
89
 
package/CHANGELOG.md DELETED
@@ -1,63 +0,0 @@
1
- ## [1.3.6] - 2025-12-14
2
-
3
- - **Fix**: Updated workflow to use latest `npm` version for better OIDC support.
4
-
5
- ## [1.3.5] - 2025-12-14
6
-
7
- - **Fix**: Re-applied `registry-url` configuration fix (previous attempt in v1.3.4 failed to update workflow).
8
-
9
- ## [1.3.4] - 2025-12-14
10
-
11
- - **Fix**: Restored `registry-url` configuration (required for OIDC `ENEEDAUTH` fix).
12
-
13
- ## [1.3.3] - 2025-12-14
14
-
15
- - **Fix**: Removed conflicting `registry-url` configuration to enable OIDC authentication.
16
-
17
- ## [1.3.2] - 2025-12-14
18
-
19
- - **Fix**: Updated release workflow to use NPM Trusted Publishing (OIDC) instead of auth tokens.
20
-
21
- ## [1.3.1] - 2025-12-14
22
-
23
- - **Fix**: Resolved timezone issue in integration tests causing CI failures.
24
-
25
- ## [1.3.0] - 2025-12-14
26
-
27
- - **Breaking**: Migrated project to ESM (`type: module`).
28
- - **Breaking**: Migrated testing framework from Jest to Vitest.
29
- - **Feature**: Added `intensityMultiplier` support to `auto-cct`.
30
- - **Feature**: `auto-cct` command now accepts a device argument (defaults to 'all').
31
- - **Refactor**: Renamed `schedule` command to `print-schedule`.
32
- - **Fix**: Resolved `suncalc` import issues.
33
- - **Fix**: Improved CLI output styling for light mode terminals.
34
- - **Chore**: Comprehensive linting and formatting fixes.
35
-
36
- ## [1.1.4] - 2025-11-02
37
-
38
- - test token config
39
-
40
- ## [1.1.3] - 2025-11-02
41
-
42
- - curve config and refactors
43
-
44
- ## [1.1.2] - 2025-11-01
45
-
46
- - Enhanced CLI help output and documentation
47
-
48
- ## [1.1.0] - 2025-10-31
49
-
50
- - Added more curves for auto-cct
51
- - Improved schedule table display with all curves
52
- - Better range for start/stop times for curves
53
- - Added simulation of full day curve in seconds
54
- - Added auto-start for the desktop app if closed
55
- - Added more special times in schedule (e.g., Nautical Dawn)
56
- - Various tests and refactoring
57
-
58
- ## [1.0.3] - 2025-10-30
59
-
60
- - Initial stable release with full CLI functionality
61
- - WebSocket control for Aputure Amaran lights
62
- - Auto-CCT circadian lighting feature
63
- - Service automation for continuous lighting adjustment
@@ -1 +0,0 @@
1
- {"version":3,"file":"autostart.d.ts","sourceRoot":"","sources":["../src/autostart.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAkCD;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAuBjF;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAkE7E;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAuC9E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"autostart.js","sourceRoot":"","sources":["../src/autostart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAgB1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;AAEzE,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,OAAe,EAAE,QAAiB,KAAK;IAC3D,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,UAAU,GAAG,IAAI,SAAS,iBAAiB,OAAO,EAAE,CAAC;IAE3D,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,qCAAqC;IACrC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,2BAA2B,CAAC,CAAC;QAC/E,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,UAAU,IAAI,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,wBAAwB;IAC1B,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,QAAiB,KAAK;IAC7D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,CAAC,kDAAkD,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACzE,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,KAAK,EAAE,CAAC;oBACV,YAAY,CAAC,sCAAsC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC7E,CAAC;gBACD,OAAO,CAAC,KAAK,CAAC,CAAC;gBACf,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YAE3C,IAAI,KAAK,EAAE,CAAC;gBACV,YAAY,CAAC,sBAAsB,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC/E,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gDAAgD,MAAM,EAAE,CAAC,CAAC,CAAC;gBACpF,CAAC;YACH,CAAC;YAED,OAAO,CAAC,SAAS,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAiB,KAAK;IACzD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,2CAA2C;IAC3C,IAAI,MAAM,EAAE,YAAY,KAAK,KAAK,EAAE,CAAC;QACnC,YAAY,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;QAC9D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,YAAY,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;QAEjE,kDAAkD;QAClD,MAAM,YAAY,GAAG;YACnB,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,qDAAqD;YACrD,qDAAqD;SACtD,CAAC;QAEF,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,IAAI,WAAW,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;gBACvC,YAAY,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAC;gBAErE,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,wDAAwD,CAAC,CAAC,CAAC;oBACpF,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;wBAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC3C,CAAC,CAAC,CAAC;oBACH,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CAAC,2FAA2F,CAAC,CAC1G,CAAC;gBACJ,CAAC;gBAED,OAAO,CAAC,KAAK,CAAC,CAAC;gBACf,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;gBACrB,IAAI,KAAK,EAAE,CAAC;oBACV,sBAAsB;oBACtB,WAAW,EAAE,CAAC;oBACd,aAAa,EAAE,CAAC;oBAChB,OAAO;gBACT,CAAC;gBAED,YAAY,CAAC,mCAAmC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;gBAEjE,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,yCAAyC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC9E,CAAC;gBAED,oCAAoC;gBACpC,UAAU,CAAC,GAAG,EAAE;oBACd,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,EAAE,IAAI,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,aAAa,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAiB,KAAK;IAC1D,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,4BAA4B;IAC5B,MAAM,gBAAgB,GAAG,MAAM,EAAE,YAAY,KAAK,KAAK,CAAC,CAAC,kBAAkB;IAC3E,YAAY,CAAC,sBAAsB,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,KAAK,CAAC,CAAC;IAEvF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,YAAY,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAC;QACrE,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CAAC,yFAAyF,CAAC,CACxG,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,SAAS,EAAE,CAAC;QACd,YAAY,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;IAE5C,IAAI,OAAO,EAAE,CAAC;QACZ,YAAY,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;QAC/D,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;SAAM,CAAC;QACN,YAAY,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"cctUtil.d.ts","sourceRoot":"","sources":["../src/cctUtil.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,oBAAY,SAAS;IACnB,IAAI,SAAS;IACb,kBAAkB,uBAAuB;IACzC,mBAAmB,wBAAwB;IAC3C,kBAAkB,uBAAuB;IACzC,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;CAClC;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,OAAO,SAAS,CAuBpE;AAED,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C;AAyZD,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,IAAiB,EACvB,IAAI,CAAC,EAAE,UAAU,EACjB,SAAS,GAAE,SAA0B,GACpC,SAAS,CAgBX"}
package/dist/cctUtil.js DELETED
@@ -1,431 +0,0 @@
1
- import SunCalc from 'suncalc';
2
- const { getPosition, getTimes } = SunCalc;
3
- import { CCT_DEFAULTS } from './constants.js';
4
- export var CurveType;
5
- (function (CurveType) {
6
- CurveType["HANN"] = "hann";
7
- CurveType["WIDER_MIDDLE_SMALL"] = "wider-middle-small";
8
- CurveType["WIDER_MIDDLE_MEDIUM"] = "wider-middle-medium";
9
- CurveType["WIDER_MIDDLE_LARGE"] = "wider-middle-large";
10
- CurveType["CIE_DAYLIGHT"] = "cie-daylight";
11
- CurveType["SUN_ALTITUDE"] = "sun-altitude";
12
- CurveType["PEREZ_DAYLIGHT"] = "perez-daylight";
13
- })(CurveType || (CurveType = {}));
14
- export function parseCurveType(curve) {
15
- const normalizedCurve = curve.toLowerCase();
16
- if (normalizedCurve === 'hann') {
17
- return 'HANN';
18
- }
19
- else if (normalizedCurve === 'wider-middle-small') {
20
- return 'WIDER_MIDDLE_SMALL';
21
- }
22
- else if (normalizedCurve === 'wider-middle-medium') {
23
- return 'WIDER_MIDDLE_MEDIUM';
24
- }
25
- else if (normalizedCurve === 'wider-middle-large') {
26
- return 'WIDER_MIDDLE_LARGE';
27
- }
28
- else if (normalizedCurve === 'wider-middle') {
29
- return 'WIDER_MIDDLE_MEDIUM'; // Default to medium for backwards compatibility
30
- }
31
- else if (normalizedCurve === 'cie-daylight') {
32
- return 'CIE_DAYLIGHT';
33
- }
34
- else if (normalizedCurve === 'sun-altitude') {
35
- return 'SUN_ALTITUDE';
36
- }
37
- else if (normalizedCurve === 'perez-daylight') {
38
- return 'PEREZ_DAYLIGHT';
39
- }
40
- else {
41
- throw new Error('Invalid curve type. Use "hann", "wider-middle-small", "wider-middle-medium", "wider-middle-large", "cie-daylight", "sun-altitude", or "perez-daylight"');
42
- }
43
- }
44
- export function getAvailableCurves() {
45
- return Object.values(CurveType);
46
- }
47
- const CURVE_FUNCTIONS = {
48
- [CurveType.HANN]: hannCurve,
49
- [CurveType.WIDER_MIDDLE_SMALL]: (x) => widerMiddleCurve(x, 'small'),
50
- [CurveType.WIDER_MIDDLE_MEDIUM]: (x) => widerMiddleCurve(x, 'medium'),
51
- [CurveType.WIDER_MIDDLE_LARGE]: (x) => widerMiddleCurve(x, 'large'),
52
- [CurveType.CIE_DAYLIGHT]: cieDaylightCurve,
53
- [CurveType.SUN_ALTITUDE]: sunAltitudeCurve,
54
- [CurveType.PEREZ_DAYLIGHT]: perezDaylightCurve,
55
- };
56
- function hannCurve(x) {
57
- return 0.5 * (1 - Math.cos(2 * Math.PI * x));
58
- }
59
- function widerMiddleCurve(x, width = 'medium') {
60
- const widthConfig = {
61
- small: { start: 0.35, end: 0.65 }, // Narrow plateau (30% of day)
62
- medium: { start: 0.2, end: 0.8 }, // Medium plateau (60% of day)
63
- large: { start: 0.1, end: 0.9 }, // Wide plateau (80% of day)
64
- };
65
- const { start: plateauStart, end: plateauEnd } = widthConfig[width];
66
- if (x < plateauStart) {
67
- return Math.sin(((x / plateauStart) * Math.PI) / 2);
68
- }
69
- else if (x > plateauEnd) {
70
- return Math.cos((((x - plateauEnd) / (1 - plateauEnd)) * Math.PI) / 2);
71
- }
72
- else {
73
- return 1;
74
- }
75
- }
76
- // Scientifically-based daylight curves using suncalc data
77
- // Realistic daylight calculation functions
78
- function calculateRealisticSunAltitude(altitude, maxAltitude) {
79
- // Convert altitude to degrees for easier calculations
80
- const altitudeDeg = (altitude * 180) / Math.PI;
81
- const maxAltitudeDeg = (maxAltitude * 180) / Math.PI;
82
- // CCT: Based on real-world color temperature at different sun angles
83
- // Civil twilight (-6° to 0°): 4000-5000K
84
- // Sunrise to 30°: 5000-6500K
85
- // 30° to 60°: 5500-7000K
86
- // Above 60°: 6500-7500K
87
- let cctFactor;
88
- if (altitudeDeg < -6) {
89
- cctFactor = 0; // Before civil twilight - minimum CCT
90
- }
91
- else if (altitudeDeg < 0) {
92
- // Civil twilight: 4000-5000K range
93
- cctFactor = 0.3 + ((altitudeDeg + 6) / 6) * 0.2; // 0.3 to 0.5
94
- }
95
- else if (altitudeDeg < 30) {
96
- // Morning/afternoon: 5000-6500K
97
- cctFactor = 0.5 + (altitudeDeg / 30) * 0.3; // 0.5 to 0.8
98
- }
99
- else if (altitudeDeg < 60) {
100
- // High sun: 5500-7000K
101
- cctFactor = 0.8 + ((altitudeDeg - 30) / 30) * 0.2; // 0.8 to 1.0
102
- }
103
- else {
104
- // Very high sun: 6500-7500K
105
- cctFactor = 1.0;
106
- }
107
- // Intensity: Based on actual illuminance levels, scaled to 5-100% range
108
- // Peak at 100% around noon, much steeper curve than CCT
109
- let intensityFactor;
110
- if (altitudeDeg < -6) {
111
- intensityFactor = 0; // Dark - will become 5% minimum
112
- }
113
- else if (altitudeDeg < 0) {
114
- // Civil twilight: very low but increasing rapidly
115
- intensityFactor = ((altitudeDeg + 6) / 6) ** 2 * 0.05; // 0 to 0.05
116
- }
117
- else if (altitudeDeg < 10) {
118
- // Just after sunrise: rapid increase
119
- intensityFactor = 0.05 + (altitudeDeg / 10) * 0.15; // 0.05 to 0.20
120
- }
121
- else if (altitudeDeg < 30) {
122
- // Morning: steady increase
123
- intensityFactor = 0.2 + ((altitudeDeg - 10) / 20) * 0.4; // 0.20 to 0.60
124
- }
125
- else if (altitudeDeg < maxAltitudeDeg * 0.8) {
126
- // Approach maximum - reach 100% by 80% of max altitude
127
- intensityFactor = 0.6 + ((altitudeDeg - 30) / (maxAltitudeDeg * 0.8 - 30)) * 0.4; // 0.60 to 1.0
128
- }
129
- else {
130
- // Maintain peak at maximum intensity
131
- intensityFactor = 1.0;
132
- }
133
- return [Math.max(0, Math.min(1, cctFactor)), Math.max(0, Math.min(1, intensityFactor))];
134
- }
135
- function calculateRealisticCIEDaylight(altitude, maxAltitude) {
136
- // CIE daylight with more realistic atmospheric modeling
137
- const altitudeDeg = (altitude * 180) / Math.PI;
138
- const maxAltitudeDeg = (maxAltitude * 180) / Math.PI;
139
- // CCT: CIE standard illuminant D series with atmospheric scattering
140
- let cctFactor;
141
- if (altitudeDeg < -6) {
142
- cctFactor = 0;
143
- }
144
- else if (altitudeDeg < 0) {
145
- // Enhanced blue during civil twilight due to Rayleigh scattering
146
- cctFactor = 0.4 + ((altitudeDeg + 6) / 6) ** 1.5 * 0.2; // 0.4 to 0.6
147
- }
148
- else if (altitudeDeg < 15) {
149
- // Golden hour effect: warmer light
150
- cctFactor = 0.6 - Math.sin((altitudeDeg * Math.PI) / 30) * 0.1; // Slight dip to 0.5
151
- }
152
- else if (altitudeDeg < 45) {
153
- // Mid-morning: rapid blue increase
154
- cctFactor = 0.5 + ((altitudeDeg - 15) / 30) * 0.4; // 0.5 to 0.9
155
- }
156
- else {
157
- // High sun: maximum blue
158
- cctFactor = 0.9 + Math.min(0.1, ((altitudeDeg - 45) / 45) * 0.1); // 0.9 to 1.0
159
- }
160
- // Intensity: CIE illuminance with atmospheric absorption, scaled to 5-100%
161
- let intensityFactor;
162
- if (altitudeDeg < -6) {
163
- intensityFactor = 0; // Will become 5% minimum
164
- }
165
- else if (altitudeDeg < 0) {
166
- intensityFactor = ((altitudeDeg + 6) / 6) ** 3 * 0.03; // Very low start
167
- }
168
- else if (altitudeDeg < 15) {
169
- // Atmospheric path length effect - gradual start
170
- const airMass = 1 / Math.sin(Math.max(0.01, (altitude * Math.PI) / 180));
171
- intensityFactor = Math.min(0.25, 1 / airMass ** 0.7);
172
- }
173
- else if (altitudeDeg < Math.min(40, maxAltitudeDeg * 0.6)) {
174
- // Mid-morning increase - use lower of 40° or 60% of max altitude
175
- intensityFactor = 0.25 + ((altitudeDeg - 15) / (Math.min(40, maxAltitudeDeg * 0.6) - 15)) * 0.55; // 0.25 to 0.80
176
- }
177
- else if (altitudeDeg < maxAltitudeDeg * 0.8) {
178
- // Approach peak - reach 100% by 80% of max altitude
179
- intensityFactor =
180
- 0.8 +
181
- ((altitudeDeg - Math.min(40, maxAltitudeDeg * 0.6)) /
182
- (maxAltitudeDeg * 0.8 - Math.min(40, maxAltitudeDeg * 0.6))) *
183
- 0.2; // 0.80 to 1.0
184
- }
185
- else {
186
- // Peak at solar noon
187
- intensityFactor = 1.0;
188
- }
189
- return [Math.max(0, Math.min(1, cctFactor)), Math.max(0, Math.min(1, intensityFactor))];
190
- }
191
- function calculateRealisticPerezDaylight(altitude, maxAltitude) {
192
- // Perez daylight model with turbidity and atmospheric effects
193
- const altitudeDeg = (altitude * 180) / Math.PI;
194
- const maxAltitudeDeg = (maxAltitude * 180) / Math.PI;
195
- // CCT: Perez model with atmospheric turbidity
196
- let cctFactor;
197
- if (altitudeDeg < -6) {
198
- cctFactor = 0;
199
- }
200
- else if (altitudeDeg < 0) {
201
- // Strong blue during twilight (high turbidity effect)
202
- cctFactor = 0.35 + ((altitudeDeg + 6) / 6) ** 2 * 0.25; // 0.35 to 0.6
203
- }
204
- else if (altitudeDeg < 25) {
205
- // Warm golden hour with Perez atmospheric correction
206
- const goldenHourEffect = Math.exp(-((altitudeDeg - 12.5) ** 2) / 100);
207
- cctFactor = 0.6 - goldenHourEffect * 0.15 + (altitudeDeg / 25) * 0.3; // 0.45 to 0.75
208
- }
209
- else if (altitudeDeg < 50) {
210
- // Transition to neutral white
211
- cctFactor = 0.75 + ((altitudeDeg - 25) / 25) * 0.2; // 0.75 to 0.95
212
- }
213
- else {
214
- // Slight cooling at very high angles
215
- cctFactor = Math.min(1.0, 0.95 + ((altitudeDeg - 50) / 40) * 0.05); // 0.95 to 1.0
216
- }
217
- // Intensity: Perez all-weather model with cloud cover assumption, scaled to 5-100%
218
- let intensityFactor;
219
- if (altitudeDeg < -6) {
220
- intensityFactor = 0; // Will become 5% minimum
221
- }
222
- else if (altitudeDeg < 5) {
223
- // Very low light near horizon
224
- intensityFactor = (Math.max(0, altitudeDeg + 6) / 11) ** 4 * 0.15;
225
- }
226
- else if (altitudeDeg < 20) {
227
- // Morning increase with atmospheric effects
228
- const zenithAngle = Math.max(0.01, ((90 - altitudeDeg) * Math.PI) / 180);
229
- const relativeLuminance = Math.exp(-0.2 / Math.max(0.01, Math.cos(zenithAngle)));
230
- intensityFactor = Math.min(0.4, relativeLuminance * 0.35 + 0.05);
231
- }
232
- else if (altitudeDeg < Math.min(45, maxAltitudeDeg * 0.7)) {
233
- // Strong increase to midday - use lower of 45° or 70% of max altitude
234
- intensityFactor = 0.4 + ((altitudeDeg - 20) / (Math.min(45, maxAltitudeDeg * 0.7) - 20)) * 0.5; // 0.40 to 0.90
235
- }
236
- else if (altitudeDeg < maxAltitudeDeg * 0.8) {
237
- // Peak at solar noon - reach 100% by 80% of max altitude
238
- intensityFactor =
239
- 0.9 +
240
- ((altitudeDeg - Math.min(45, maxAltitudeDeg * 0.7)) /
241
- (maxAltitudeDeg * 0.8 - Math.min(45, maxAltitudeDeg * 0.7))) *
242
- 0.1; // 0.90 to 1.0
243
- }
244
- else {
245
- // Maintain peak at noon
246
- intensityFactor = 1.0;
247
- }
248
- return [Math.max(0, Math.min(1, cctFactor)), Math.max(0, Math.min(1, intensityFactor))];
249
- }
250
- function cieDaylightCurve(x) {
251
- // CIE daylight locus approximation
252
- // Maps time of day to CCT based on CIE standard illuminant D series
253
- // Higher CCT (bluer) at midday, lower CCT (warmer) at sunrise/sunset
254
- return Math.sin(Math.PI * x) ** 0.8;
255
- }
256
- function sunAltitudeCurve(x) {
257
- // Simple sun altitude-based approximation
258
- // CCT ≈ 2000 + 4500 × (1 - cos(altitude))
259
- // This creates a more gradual transition than simple sine
260
- return 1 - Math.cos(Math.PI * x);
261
- }
262
- function perezDaylightCurve(x) {
263
- // Perez daylight model approximation
264
- // Accounts for atmospheric scattering and turbidity
265
- // More realistic transition with slightly flatter midday peak
266
- const zenithAngle = Math.PI * (0.5 - Math.abs(x - 0.5));
267
- const scattering = Math.exp(-2.0 * Math.max(0, Math.cos(zenithAngle)));
268
- return Math.sin(Math.PI * x) ** 0.6 * (1 - 0.2 * scattering);
269
- }
270
- function isValidSunTimes(sunrise, sunset, solarNoon) {
271
- return (sunrise instanceof Date &&
272
- !Number.isNaN(sunrise.getTime()) &&
273
- sunset instanceof Date &&
274
- !Number.isNaN(sunset.getTime()) &&
275
- solarNoon instanceof Date &&
276
- !Number.isNaN(solarNoon.getTime()) &&
277
- sunset.getTime() > sunrise.getTime() &&
278
- solarNoon.getTime() > sunrise.getTime() &&
279
- solarNoon.getTime() < sunset.getTime());
280
- }
281
- function calculateCCTCore(lat, lon, date, minK, maxK, minIntensity, maxIntensity, curveType) {
282
- const curve = CURVE_FUNCTIONS[curveType];
283
- const times = getTimes(date, lat, lon);
284
- const sunrise = times.sunrise;
285
- const sunset = times.sunset;
286
- const _solarNoon = times.solarNoon;
287
- const nightEnd = times.nightEnd;
288
- const night = times.night;
289
- let f;
290
- // Scientific curves (CIE, SUN_ALTITUDE, PEREZ) use altitude-based calculations
291
- if (curveType === CurveType.CIE_DAYLIGHT ||
292
- curveType === CurveType.SUN_ALTITUDE ||
293
- curveType === CurveType.PEREZ_DAYLIGHT) {
294
- f = 0; // Initialize f
295
- if (isValidSunTimes(sunrise, sunset, _solarNoon)) {
296
- const [t, _noon] = [date.getTime(), _solarNoon.getTime()];
297
- // For scientific curves, handle cases where nightEnd/night might not be available
298
- let nightEndTime;
299
- let nightStartTime;
300
- if (nightEnd instanceof Date &&
301
- !Number.isNaN(nightEnd.getTime()) &&
302
- night instanceof Date &&
303
- !Number.isNaN(night.getTime())) {
304
- // Normal case: both nightEnd and night are available
305
- nightEndTime = nightEnd.getTime();
306
- nightStartTime = night.getTime();
307
- if (t <= nightEndTime || t >= nightStartTime) {
308
- return { cct: minK, intensity: minIntensity };
309
- }
310
- }
311
- else {
312
- // Edge case: no proper night (e.g., summer in high latitudes)
313
- // Use sunrise/sunset as boundaries for scientific curves
314
- nightEndTime = sunrise.getTime() - 30 * 60 * 1000; // 30 min before sunrise
315
- nightStartTime = sunset.getTime() + 30 * 60 * 1000; // 30 min after sunset
316
- if (t <= nightEndTime || t >= nightStartTime) {
317
- return { cct: minK, intensity: minIntensity };
318
- }
319
- }
320
- const pos = getPosition(date, lat, lon);
321
- const altitude = pos.altitude;
322
- // Get maximum altitude for normalization (at solar noon on this day)
323
- const noonPos = getPosition(_solarNoon, lat, lon);
324
- const maxAltitude = noonPos.altitude;
325
- if (curveType === CurveType.SUN_ALTITUDE) {
326
- // Realistic sun altitude-based calculations
327
- const [cctFactor, intensityFactor] = calculateRealisticSunAltitude(altitude, maxAltitude);
328
- const cct = minK + (maxK - minK) * cctFactor;
329
- const intensity = minIntensity + (maxIntensity - minIntensity) * intensityFactor;
330
- return {
331
- cct: Math.round(cct),
332
- intensity: Math.round(intensity),
333
- };
334
- }
335
- else if (curveType === CurveType.CIE_DAYLIGHT) {
336
- // Realistic CIE daylight locus calculations
337
- const [cctFactor, intensityFactor] = calculateRealisticCIEDaylight(altitude, maxAltitude);
338
- const cct = minK + (maxK - minK) * cctFactor;
339
- const intensity = minIntensity + (maxIntensity - minIntensity) * intensityFactor;
340
- return {
341
- cct: Math.round(cct),
342
- intensity: Math.round(intensity),
343
- };
344
- }
345
- else if (curveType === CurveType.PEREZ_DAYLIGHT) {
346
- // Realistic Perez daylight model calculations
347
- const [cctFactor, intensityFactor] = calculateRealisticPerezDaylight(altitude, maxAltitude);
348
- const cct = minK + (maxK - minK) * cctFactor;
349
- const intensity = minIntensity + (maxIntensity - minIntensity) * intensityFactor;
350
- return {
351
- cct: Math.round(cct),
352
- intensity: Math.round(intensity),
353
- };
354
- }
355
- }
356
- else {
357
- // Fallback for scientific curves when sun times are invalid
358
- f = 0;
359
- const cct = minK + (maxK - minK) * f;
360
- const intensity = minIntensity + (maxIntensity - minIntensity) * f;
361
- return {
362
- cct: Math.round(cct),
363
- intensity: Math.round(intensity),
364
- };
365
- }
366
- }
367
- // Empirical curves (HANN, WIDER_MIDDLE) use time-based calculations with nightEnd/night like scientific curves
368
- if (isValidSunTimes(sunrise, sunset, _solarNoon) &&
369
- nightEnd instanceof Date &&
370
- !Number.isNaN(nightEnd.getTime()) &&
371
- night instanceof Date &&
372
- !Number.isNaN(night.getTime())) {
373
- const [t, noon, nightStartTime, nightEndTime] = [
374
- date.getTime(),
375
- _solarNoon.getTime(),
376
- night.getTime(),
377
- nightEnd.getTime(),
378
- ];
379
- if (t <= nightEndTime || t >= nightStartTime) {
380
- return { cct: minK, intensity: minIntensity };
381
- }
382
- let x;
383
- if (t <= noon) {
384
- // Morning: map [nightEnd, solarNoon] to [0, 0.5]
385
- x = ((t - nightEndTime) / (noon - nightEndTime)) * 0.5;
386
- }
387
- else {
388
- // Afternoon: map [solarNoon, night] to [0.5, 1]
389
- x = 0.5 + ((t - noon) / (nightStartTime - noon)) * 0.5;
390
- }
391
- f = curve(x);
392
- const cct = minK + (maxK - minK) * f;
393
- const intensity = minIntensity + (maxIntensity - minIntensity) * f;
394
- return {
395
- cct: Math.round(cct),
396
- intensity: Math.round(intensity),
397
- };
398
- }
399
- // Fallback for empirical curves when night times are not available
400
- try {
401
- const pos = getPosition(date, lat, lon);
402
- const altitude = pos.altitude;
403
- if (altitude <= 0)
404
- return { cct: minK, intensity: minIntensity };
405
- f = Math.max(0, Math.sin(altitude));
406
- const cct = minK + (maxK - minK) * f;
407
- const intensity = minIntensity + (maxIntensity - minIntensity) * f;
408
- return {
409
- cct: Math.round(cct),
410
- intensity: Math.round(intensity),
411
- };
412
- }
413
- catch (_error) {
414
- return { cct: minK, intensity: minIntensity };
415
- }
416
- }
417
- export function calculateCCT(lat, lon, date = new Date(), opts, curveType = CurveType.HANN) {
418
- const clamp = (v, lo, hi) => Math.min(hi, Math.max(lo, v));
419
- const cctMinK = clamp(opts?.cctMinK ?? CCT_DEFAULTS.cctMinK, 1000, 20000);
420
- const cctMaxK = clamp(opts?.cctMaxK ?? CCT_DEFAULTS.cctMaxK, 1000, 20000);
421
- const minK = Math.min(cctMinK, cctMaxK);
422
- const maxK = Math.max(cctMinK, cctMaxK);
423
- const intensityMinPct = clamp(opts?.intensityMinPct ?? CCT_DEFAULTS.intensityMinPct, 0, 100);
424
- const intensityMaxPct = clamp(opts?.intensityMaxPct ?? CCT_DEFAULTS.intensityMaxPct, 0, 100);
425
- const minPct = Math.min(intensityMinPct, intensityMaxPct);
426
- const maxPct = Math.max(intensityMinPct, intensityMaxPct);
427
- const minIntensity = Math.round(minPct * 10);
428
- const maxIntensity = Math.round(maxPct * 10);
429
- return calculateCCTCore(lat, lon, date, minK, maxK, minIntensity, maxIntensity, curveType);
430
- }
431
- //# sourceMappingURL=cctUtil.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cctUtil.js","sourceRoot":"","sources":["../src/cctUtil.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAc9C,MAAM,CAAN,IAAY,SAQX;AARD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,sDAAyC,CAAA;IACzC,wDAA2C,CAAA;IAC3C,sDAAyC,CAAA;IACzC,0CAA6B,CAAA;IAC7B,0CAA6B,CAAA;IAC7B,8CAAiC,CAAA;AACnC,CAAC,EARW,SAAS,KAAT,SAAS,QAQpB;AAED,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC5C,IAAI,eAAe,KAAK,MAAM,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;SAAM,IAAI,eAAe,KAAK,oBAAoB,EAAE,CAAC;QACpD,OAAO,oBAAoB,CAAC;IAC9B,CAAC;SAAM,IAAI,eAAe,KAAK,qBAAqB,EAAE,CAAC;QACrD,OAAO,qBAAqB,CAAC;IAC/B,CAAC;SAAM,IAAI,eAAe,KAAK,oBAAoB,EAAE,CAAC;QACpD,OAAO,oBAAoB,CAAC;IAC9B,CAAC;SAAM,IAAI,eAAe,KAAK,cAAc,EAAE,CAAC;QAC9C,OAAO,qBAAqB,CAAC,CAAC,gDAAgD;IAChF,CAAC;SAAM,IAAI,eAAe,KAAK,cAAc,EAAE,CAAC;QAC9C,OAAO,cAAc,CAAC;IACxB,CAAC;SAAM,IAAI,eAAe,KAAK,cAAc,EAAE,CAAC;QAC9C,OAAO,cAAc,CAAC;IACxB,CAAC;SAAM,IAAI,eAAe,KAAK,gBAAgB,EAAE,CAAC;QAChD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,wJAAwJ,CACzJ,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAID,MAAM,eAAe,GAAqC;IACxD,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS;IAC3B,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC;IAC3E,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,QAAQ,CAAC;IAC7E,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC;IAC3E,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,gBAAgB;IAC1C,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,gBAAgB;IAC1C,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,kBAAkB;CAC/C,CAAC;AAEF,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAS,EAAE,QAAsC,QAAQ;IACjF,MAAM,WAAW,GAAG;QAClB,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,8BAA8B;QACjE,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,8BAA8B;QAChE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,4BAA4B;KAC9D,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAEpE,IAAI,CAAC,GAAG,YAAY,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,CAAC;SAAM,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,0DAA0D;AAE1D,2CAA2C;AAC3C,SAAS,6BAA6B,CACpC,QAAgB,EAChB,WAAmB;IAEnB,sDAAsD;IACtD,MAAM,WAAW,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;IAC/C,MAAM,cAAc,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;IAErD,qEAAqE;IACrE,yCAAyC;IACzC,6BAA6B;IAC7B,yBAAyB;IACzB,wBAAwB;IACxB,IAAI,SAAiB,CAAC;IACtB,IAAI,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC;QACrB,SAAS,GAAG,CAAC,CAAC,CAAC,sCAAsC;IACvD,CAAC;SAAM,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QAC3B,mCAAmC;QACnC,SAAS,GAAG,GAAG,GAAG,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,aAAa;IAChE,CAAC;SAAM,IAAI,WAAW,GAAG,EAAE,EAAE,CAAC;QAC5B,gCAAgC;QAChC,SAAS,GAAG,GAAG,GAAG,CAAC,WAAW,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,aAAa;IAC3D,CAAC;SAAM,IAAI,WAAW,GAAG,EAAE,EAAE,CAAC;QAC5B,uBAAuB;QACvB,SAAS,GAAG,GAAG,GAAG,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,aAAa;IAClE,CAAC;SAAM,CAAC;QACN,4BAA4B;QAC5B,SAAS,GAAG,GAAG,CAAC;IAClB,CAAC;IAED,wEAAwE;IACxE,wDAAwD;IACxD,IAAI,eAAuB,CAAC;IAC5B,IAAI,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC;QACrB,eAAe,GAAG,CAAC,CAAC,CAAC,gCAAgC;IACvD,CAAC;SAAM,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QAC3B,kDAAkD;QAClD,eAAe,GAAG,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,YAAY;IACrE,CAAC;SAAM,IAAI,WAAW,GAAG,EAAE,EAAE,CAAC;QAC5B,qCAAqC;QACrC,eAAe,GAAG,IAAI,GAAG,CAAC,WAAW,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,eAAe;IACrE,CAAC;SAAM,IAAI,WAAW,GAAG,EAAE,EAAE,CAAC;QAC5B,2BAA2B;QAC3B,eAAe,GAAG,GAAG,GAAG,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,eAAe;IAC1E,CAAC;SAAM,IAAI,WAAW,GAAG,cAAc,GAAG,GAAG,EAAE,CAAC;QAC9C,uDAAuD;QACvD,eAAe,GAAG,GAAG,GAAG,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC,GAAG,CAAC,cAAc,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,cAAc;IAClG,CAAC;SAAM,CAAC;QACN,qCAAqC;QACrC,eAAe,GAAG,GAAG,CAAC;IACxB,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,6BAA6B,CACpC,QAAgB,EAChB,WAAmB;IAEnB,wDAAwD;IACxD,MAAM,WAAW,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;IAC/C,MAAM,cAAc,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;IAErD,oEAAoE;IACpE,IAAI,SAAiB,CAAC;IACtB,IAAI,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC;QACrB,SAAS,GAAG,CAAC,CAAC;IAChB,CAAC;SAAM,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QAC3B,iEAAiE;QACjE,SAAS,GAAG,GAAG,GAAG,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,aAAa;IACvE,CAAC;SAAM,IAAI,WAAW,GAAG,EAAE,EAAE,CAAC;QAC5B,mCAAmC;QACnC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,oBAAoB;IACtF,CAAC;SAAM,IAAI,WAAW,GAAG,EAAE,EAAE,CAAC;QAC5B,mCAAmC;QACnC,SAAS,GAAG,GAAG,GAAG,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,aAAa;IAClE,CAAC;SAAM,CAAC;QACN,yBAAyB;QACzB,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa;IACjF,CAAC;IAED,2EAA2E;IAC3E,IAAI,eAAuB,CAAC;IAC5B,IAAI,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC;QACrB,eAAe,GAAG,CAAC,CAAC,CAAC,yBAAyB;IAChD,CAAC;SAAM,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QAC3B,eAAe,GAAG,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,iBAAiB;IAC1E,CAAC;SAAM,IAAI,WAAW,GAAG,EAAE,EAAE,CAAC;QAC5B,iDAAiD;QACjD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACzE,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,IAAI,GAAG,CAAC,CAAC;IACvD,CAAC;SAAM,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc,GAAG,GAAG,CAAC,EAAE,CAAC;QAC5D,iEAAiE;QACjE,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,eAAe;IACnH,CAAC;SAAM,IAAI,WAAW,GAAG,cAAc,GAAG,GAAG,EAAE,CAAC;QAC9C,oDAAoD;QACpD,eAAe;YACb,GAAG;gBACH,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc,GAAG,GAAG,CAAC,CAAC;oBACjD,CAAC,cAAc,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC;oBAC5D,GAAG,CAAC,CAAC,cAAc;IACzB,CAAC;SAAM,CAAC;QACN,qBAAqB;QACrB,eAAe,GAAG,GAAG,CAAC;IACxB,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,+BAA+B,CACtC,QAAgB,EAChB,WAAmB;IAEnB,8DAA8D;IAC9D,MAAM,WAAW,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;IAC/C,MAAM,cAAc,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;IAErD,8CAA8C;IAC9C,IAAI,SAAiB,CAAC;IACtB,IAAI,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC;QACrB,SAAS,GAAG,CAAC,CAAC;IAChB,CAAC;SAAM,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QAC3B,sDAAsD;QACtD,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,cAAc;IACxE,CAAC;SAAM,IAAI,WAAW,GAAG,EAAE,EAAE,CAAC;QAC5B,qDAAqD;QACrD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QACtE,SAAS,GAAG,GAAG,GAAG,gBAAgB,GAAG,IAAI,GAAG,CAAC,WAAW,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,eAAe;IACvF,CAAC;SAAM,IAAI,WAAW,GAAG,EAAE,EAAE,CAAC;QAC5B,8BAA8B;QAC9B,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,eAAe;IACrE,CAAC;SAAM,CAAC;QACN,qCAAqC;QACrC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,cAAc;IACpF,CAAC;IAED,mFAAmF;IACnF,IAAI,eAAuB,CAAC;IAC5B,IAAI,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC;QACrB,eAAe,GAAG,CAAC,CAAC,CAAC,yBAAyB;IAChD,CAAC;SAAM,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QAC3B,8BAA8B;QAC9B,eAAe,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACpE,CAAC;SAAM,IAAI,WAAW,GAAG,EAAE,EAAE,CAAC;QAC5B,4CAA4C;QAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;QACzE,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACjF,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;IACnE,CAAC;SAAM,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc,GAAG,GAAG,CAAC,EAAE,CAAC;QAC5D,sEAAsE;QACtE,eAAe,GAAG,GAAG,GAAG,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,eAAe;IACjH,CAAC;SAAM,IAAI,WAAW,GAAG,cAAc,GAAG,GAAG,EAAE,CAAC;QAC9C,yDAAyD;QACzD,eAAe;YACb,GAAG;gBACH,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc,GAAG,GAAG,CAAC,CAAC;oBACjD,CAAC,cAAc,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC;oBAC5D,GAAG,CAAC,CAAC,cAAc;IACzB,CAAC;SAAM,CAAC;QACN,wBAAwB;QACxB,eAAe,GAAG,GAAG,CAAC;IACxB,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAS;IACjC,mCAAmC;IACnC,oEAAoE;IACpE,qEAAqE;IACrE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC;AACtC,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAS;IACjC,0CAA0C;IAC1C,0CAA0C;IAC1C,0DAA0D;IAC1D,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,kBAAkB,CAAC,CAAS;IACnC,qCAAqC;IACrC,oDAAoD;IACpD,8DAA8D;IAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACvE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,UAAU,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,eAAe,CAAC,OAAyB,EAAE,MAAwB,EAAE,SAA2B;IACvG,OAAO,CACL,OAAO,YAAY,IAAI;QACvB,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,YAAY,IAAI;QACtB,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC/B,SAAS,YAAY,IAAI;QACzB,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE;QACpC,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE;QACvC,SAAS,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CACvC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,GAAW,EACX,GAAW,EACX,IAAU,EACV,IAAY,EACZ,IAAY,EACZ,YAAoB,EACpB,YAAoB,EACpB,SAAoB;IAEpB,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAEzC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC;IACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAE1B,IAAI,CAAS,CAAC;IAEd,+EAA+E;IAC/E,IACE,SAAS,KAAK,SAAS,CAAC,YAAY;QACpC,SAAS,KAAK,SAAS,CAAC,YAAY;QACpC,SAAS,KAAK,SAAS,CAAC,cAAc,EACtC,CAAC;QACD,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe;QACtB,IAAI,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;YACjD,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;YAE1D,kFAAkF;YAClF,IAAI,YAAoB,CAAC;YACzB,IAAI,cAAsB,CAAC;YAE3B,IACE,QAAQ,YAAY,IAAI;gBACxB,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACjC,KAAK,YAAY,IAAI;gBACrB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAC9B,CAAC;gBACD,qDAAqD;gBACrD,YAAY,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAClC,cAAc,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;gBAEjC,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,IAAI,cAAc,EAAE,CAAC;oBAC7C,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;gBAChD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,8DAA8D;gBAC9D,yDAAyD;gBACzD,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,wBAAwB;gBAC3E,cAAc,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,sBAAsB;gBAE1E,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,IAAI,cAAc,EAAE,CAAC;oBAC7C,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;gBAChD,CAAC;YACH,CAAC;YAED,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YAE9B,qEAAqE;YACrE,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAClD,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;YAErC,IAAI,SAAS,KAAK,SAAS,CAAC,YAAY,EAAE,CAAC;gBACzC,4CAA4C;gBAC5C,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG,6BAA6B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBAC1F,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;gBAC7C,MAAM,SAAS,GAAG,YAAY,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC,GAAG,eAAe,CAAC;gBAEjF,OAAO;oBACL,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;oBACpB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;iBACjC,CAAC;YACJ,CAAC;iBAAM,IAAI,SAAS,KAAK,SAAS,CAAC,YAAY,EAAE,CAAC;gBAChD,4CAA4C;gBAC5C,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG,6BAA6B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBAC1F,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;gBAC7C,MAAM,SAAS,GAAG,YAAY,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC,GAAG,eAAe,CAAC;gBAEjF,OAAO;oBACL,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;oBACpB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;iBACjC,CAAC;YACJ,CAAC;iBAAM,IAAI,SAAS,KAAK,SAAS,CAAC,cAAc,EAAE,CAAC;gBAClD,8CAA8C;gBAC9C,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG,+BAA+B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBAC5F,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;gBAC7C,MAAM,SAAS,GAAG,YAAY,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC,GAAG,eAAe,CAAC;gBAEjF,OAAO;oBACL,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;oBACpB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;iBACjC,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,4DAA4D;YAC5D,CAAC,GAAG,CAAC,CAAC;YACN,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACrC,MAAM,SAAS,GAAG,YAAY,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YACnE,OAAO;gBACL,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBACpB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;aACjC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,+GAA+G;IAC/G,IACE,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC;QAC5C,QAAQ,YAAY,IAAI;QACxB,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACjC,KAAK,YAAY,IAAI;QACrB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAC9B,CAAC;QACD,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,CAAC,GAAG;YAC9C,IAAI,CAAC,OAAO,EAAE;YACd,UAAU,CAAC,OAAO,EAAE;YACpB,KAAK,CAAC,OAAO,EAAE;YACf,QAAQ,CAAC,OAAO,EAAE;SACnB,CAAC;QAEF,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,IAAI,cAAc,EAAE,CAAC;YAC7C,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;QAChD,CAAC;QAED,IAAI,CAAS,CAAC;QACd,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YACd,iDAAiD;YACjD,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC,CAAC,GAAG,GAAG,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,gDAAgD;YAChD,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;QACzD,CAAC;QACD,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEb,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,YAAY,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAEnE,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YACpB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;SACjC,CAAC;IACJ,CAAC;IAED,mEAAmE;IACnE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,IAAI,QAAQ,IAAI,CAAC;YAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;QAEjE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEpC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,YAAY,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAEnE,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YACpB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;SACjC,CAAC;IACJ,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;IAChD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,GAAW,EACX,GAAW,EACX,OAAa,IAAI,IAAI,EAAE,EACvB,IAAiB,EACjB,YAAuB,SAAS,CAAC,IAAI;IAErC,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAU,EAAE,EAAU,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAExC,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,EAAE,eAAe,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7F,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,EAAE,eAAe,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7F,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAE1D,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAE7C,OAAO,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;AAC7F,CAAC"}
@@ -1,5 +0,0 @@
1
- import type { Command } from 'commander';
2
- import type { CommandDeps } from '../types.js';
3
- declare function registerAutoCct(program: Command, deps: CommandDeps): void;
4
- export default registerAutoCct;
5
- //# sourceMappingURL=autoCct.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"autoCct.d.ts","sourceRoot":"","sources":["../../src/commands/autoCct.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,iBAAS,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QAuX3D;AAED,eAAe,eAAe,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"autoCct.js","sourceRoot":"","sources":["../../src/commands/autoCct.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"cct.d.ts","sourceRoot":"","sources":["../../src/commands/cct.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAE/D,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QA0F9D;AAED,eAAe,WAAW,CAAC"}