eternal-timer 2.5.0 → 2.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/TimersManager/{JSONLTimersManager.cjs → JSONLTimersManager.js} +2 -2
  3. package/dist/cjs/TimersManager/{PlainTextTimersManager.cjs → PlainTextTimersManager.js} +2 -2
  4. package/dist/cjs/TimersManager/{TimersManager.cjs → TimersManager.js} +2 -2
  5. package/dist/cjs/TimersStore/{JSONLTimersStore.cjs → JSONLTimersStore.js} +1 -1
  6. package/dist/cjs/TimersStore/{PlainTextTimersStore.cjs → PlainTextTimersStore.js} +1 -1
  7. package/dist/cjs/TimersStore/{TimersStore.cjs → TimersStore.js} +4 -4
  8. package/dist/cjs/TimersStore/TimersStore.js.map +1 -0
  9. package/dist/cjs/{index.cjs → index.js} +2 -2
  10. package/dist/cjs/package.json +3 -0
  11. package/dist/esm/TimersStore/TimersStore.js +4 -4
  12. package/dist/esm/TimersStore/TimersStore.js.map +1 -1
  13. package/dist/esm/package.json +3 -0
  14. package/package.json +10 -17
  15. package/dist/cjs/TimersStore/TimersStore.cjs.map +0 -1
  16. /package/dist/cjs/{Log.cjs → Log.js} +0 -0
  17. /package/dist/cjs/{Log.cjs.map → Log.js.map} +0 -0
  18. /package/dist/cjs/TimersManager/{JSONLTimersManager.cjs.map → JSONLTimersManager.js.map} +0 -0
  19. /package/dist/cjs/TimersManager/{PlainTextTimersManager.cjs.map → PlainTextTimersManager.js.map} +0 -0
  20. /package/dist/cjs/TimersManager/{TimersManager.cjs.map → TimersManager.js.map} +0 -0
  21. /package/dist/cjs/TimersStore/{JSONLTimersStore.cjs.map → JSONLTimersStore.js.map} +0 -0
  22. /package/dist/cjs/TimersStore/{PlainTextTimersStore.cjs.map → PlainTextTimersStore.js.map} +0 -0
  23. /package/dist/cjs/{index.cjs.map → index.js.map} +0 -0
  24. /package/dist/cjs/{searchRoot.cjs → searchRoot.js} +0 -0
  25. /package/dist/cjs/{searchRoot.cjs.map → searchRoot.js.map} +0 -0
  26. /package/dist/cjs/{types.cjs → types.js} +0 -0
  27. /package/dist/cjs/{types.cjs.map → types.js.map} +0 -0
package/README.md CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  ![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/SUKEsann2000/eternal-timer/run_test.yml)
4
4
  ![NPM Downloads](https://img.shields.io/npm/dm/eternal-timer)
5
+ [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/SUKEsann2000/eternal-timer)
5
6
 
6
7
  A simple and persistent timer library for Node.js. Timers are saved to a file and maintain their state even after process restart.
7
8
 
@@ -218,11 +219,10 @@ type Timer<T extends StorageType> = {
218
219
 
219
220
  ## Scripts
220
221
 
221
- - `npm run dev`: Run in development mode with nodemon
222
222
  - `npm run build`: Compile TypeScript
223
- - `npm start`: Run compiled JavaScript
224
223
  - `npm run test`: Test the compiled code
225
224
  - `npm run lint`: Lint all codes
225
+ - `npm run lint:fix`: Lint all codes and fix
226
226
 
227
227
  ## Storage Formats
228
228
 
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.JSONLTimersManager = void 0;
4
- const TimersManager_js_1 = require("./TimersManager.cjs");
5
- const JSONLTimersStore_js_1 = require("../TimersStore/JSONLTimersStore.cjs");
4
+ const TimersManager_js_1 = require("./TimersManager.js");
5
+ const JSONLTimersStore_js_1 = require("../TimersStore/JSONLTimersStore.js");
6
6
  /**
7
7
  * JSONLTimersManager
8
8
  * @description
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PlainTextTimersManager = void 0;
4
- const TimersManager_js_1 = require("./TimersManager.cjs");
5
- const PlainTextTimersStore_js_1 = require("../TimersStore/PlainTextTimersStore.cjs");
4
+ const TimersManager_js_1 = require("./TimersManager.js");
5
+ const PlainTextTimersStore_js_1 = require("../TimersStore/PlainTextTimersStore.js");
6
6
  /**
7
7
  * PlainTextTimersManager
8
8
  * @description
@@ -7,8 +7,8 @@ exports.TimersManager = void 0;
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const fs_1 = __importDefault(require("fs"));
9
9
  const uuid_1 = require("uuid");
10
- const searchRoot_js_1 = __importDefault(require("../searchRoot.cjs"));
11
- const Log_js_1 = require("../Log.cjs");
10
+ const searchRoot_js_1 = __importDefault(require("../searchRoot.js"));
11
+ const Log_js_1 = require("../Log.js");
12
12
  /**
13
13
  * TimersManager
14
14
  * @description
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.JSONLTimersStore = void 0;
4
4
  const uuid_1 = require("uuid");
5
- const TimersStore_js_1 = require("./TimersStore.cjs");
5
+ const TimersStore_js_1 = require("./TimersStore.js");
6
6
  class JSONLTimersStore extends TimersStore_js_1.TimersStore {
7
7
  constructor(timerfile) {
8
8
  super(timerfile);
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PlainTextTimersStore = void 0;
4
4
  const uuid_1 = require("uuid");
5
- const TimersStore_js_1 = require("./TimersStore.cjs");
5
+ const TimersStore_js_1 = require("./TimersStore.js");
6
6
  class PlainTextTimersStore extends TimersStore_js_1.TimersStore {
7
7
  constructor(timerfile) {
8
8
  super(timerfile);
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.TimersStore = void 0;
7
- const fs_1 = __importDefault(require("fs"));
7
+ const promises_1 = __importDefault(require("fs/promises"));
8
8
  class TimersStore {
9
9
  timerfile;
10
10
  constructor(timerfile) {
@@ -12,7 +12,7 @@ class TimersStore {
12
12
  }
13
13
  async loadTimers() {
14
14
  try {
15
- const data = await fs_1.default.promises.readFile(this.timerfile, "utf-8");
15
+ const data = await promises_1.default.readFile(this.timerfile, "utf-8");
16
16
  const timersData = this.parseTimers(data);
17
17
  await this.checkTimerfileSyntax(timersData);
18
18
  return timersData;
@@ -24,7 +24,7 @@ class TimersStore {
24
24
  async saveTimers(timers) {
25
25
  const data = this.toStringifyTimers(timers);
26
26
  try {
27
- await fs_1.default.promises.writeFile(this.timerfile, data, "utf-8");
27
+ await promises_1.default.writeFile(this.timerfile, data, "utf-8");
28
28
  }
29
29
  catch (e) {
30
30
  throw new Error(`Error when saving timer data`, { cause: e });
@@ -32,7 +32,7 @@ class TimersStore {
32
32
  }
33
33
  async appendTimer(timer) {
34
34
  try {
35
- await fs_1.default.promises.appendFile(this.timerfile, this.toStringifyTimers([timer]) + "\n");
35
+ await promises_1.default.appendFile(this.timerfile, this.toStringifyTimers([timer]) + "\n");
36
36
  return;
37
37
  }
38
38
  catch (e) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimersStore.js","sourceRoot":"","sources":["../../../src/TimersStore/TimersStore.ts"],"names":[],"mappings":";;;;;;AAAA,2DAA6B;AAI7B,MAAsB,WAAW;IACb,SAAS,CAAS;IAErC,YACC,SAAiB;QAEjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,UAAU;QACtB,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACxD,MAAM,UAAU,GAAe,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;YAC5C,OAAO,UAAU,CAAC;QACnB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,MAAkB;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE5C,IAAI,CAAC;YACJ,MAAM,kBAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,KAAe;QACvC,IAAI,CAAC;YACJ,MAAM,kBAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YAC5E,OAAO;QACR,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC;IACF,CAAC;CAKD;AA1CD,kCA0CC"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PlainTextTimersManager = exports.JSONLTimersManager = void 0;
4
- var JSONLTimersManager_js_1 = require("./TimersManager/JSONLTimersManager.cjs");
4
+ var JSONLTimersManager_js_1 = require("./TimersManager/JSONLTimersManager.js");
5
5
  Object.defineProperty(exports, "JSONLTimersManager", { enumerable: true, get: function () { return JSONLTimersManager_js_1.JSONLTimersManager; } });
6
- var PlainTextTimersManager_js_1 = require("./TimersManager/PlainTextTimersManager.cjs");
6
+ var PlainTextTimersManager_js_1 = require("./TimersManager/PlainTextTimersManager.js");
7
7
  Object.defineProperty(exports, "PlainTextTimersManager", { enumerable: true, get: function () { return PlainTextTimersManager_js_1.PlainTextTimersManager; } });
8
8
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -1,4 +1,4 @@
1
- import fs from "fs";
1
+ import fs from "fs/promises";
2
2
  export class TimersStore {
3
3
  timerfile;
4
4
  constructor(timerfile) {
@@ -6,7 +6,7 @@ export class TimersStore {
6
6
  }
7
7
  async loadTimers() {
8
8
  try {
9
- const data = await fs.promises.readFile(this.timerfile, "utf-8");
9
+ const data = await fs.readFile(this.timerfile, "utf-8");
10
10
  const timersData = this.parseTimers(data);
11
11
  await this.checkTimerfileSyntax(timersData);
12
12
  return timersData;
@@ -18,7 +18,7 @@ export class TimersStore {
18
18
  async saveTimers(timers) {
19
19
  const data = this.toStringifyTimers(timers);
20
20
  try {
21
- await fs.promises.writeFile(this.timerfile, data, "utf-8");
21
+ await fs.writeFile(this.timerfile, data, "utf-8");
22
22
  }
23
23
  catch (e) {
24
24
  throw new Error(`Error when saving timer data`, { cause: e });
@@ -26,7 +26,7 @@ export class TimersStore {
26
26
  }
27
27
  async appendTimer(timer) {
28
28
  try {
29
- await fs.promises.appendFile(this.timerfile, this.toStringifyTimers([timer]) + "\n");
29
+ await fs.appendFile(this.timerfile, this.toStringifyTimers([timer]) + "\n");
30
30
  return;
31
31
  }
32
32
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"TimersStore.js","sourceRoot":"","sources":["../../../src/TimersStore/TimersStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAIpB,MAAM,OAAgB,WAAW;IACb,SAAS,CAAS;IAErC,YACC,SAAiB;QAEjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,UAAU;QACtB,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACjE,MAAM,UAAU,GAAe,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;YAC5C,OAAO,UAAU,CAAC;QACnB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,MAAkB;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE5C,IAAI,CAAC;YACJ,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,KAAe;QACvC,IAAI,CAAC;YACJ,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YACrF,OAAO;QACR,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC;IACF,CAAC;CAKD"}
1
+ {"version":3,"file":"TimersStore.js","sourceRoot":"","sources":["../../../src/TimersStore/TimersStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAI7B,MAAM,OAAgB,WAAW;IACb,SAAS,CAAS;IAErC,YACC,SAAiB;QAEjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,UAAU;QACtB,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACxD,MAAM,UAAU,GAAe,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;YAC5C,OAAO,UAAU,CAAC;QACnB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,MAAkB;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE5C,IAAI,CAAC;YACJ,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,KAAe;QACvC,IAAI,CAAC;YACJ,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YAC5E,OAAO;QACR,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC;IACF,CAAC;CAKD"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
package/package.json CHANGED
@@ -1,12 +1,11 @@
1
1
  {
2
2
  "name": "eternal-timer",
3
- "version": "2.5.0",
3
+ "version": "2.5.1",
4
4
  "description": "timer for node.js package",
5
5
  "scripts": {
6
- "dev": "nodemon --watch src --exec ts-node src/index.ts",
7
- "build": "tsc -p tsconfig.esm.json && tsc -p tsconfig.cjs.json && node scripts/rename-cjs.js",
8
- "start": "npm run build && node dist/esm/index.js",
9
- "lint": "npx eslint --fix --config ./eslint/eslint.config.ts",
6
+ "build": "tsc -p tsconfig.esm.json && tsc -p tsconfig.cjs.json && node scripts/move-package-json.js",
7
+ "lint": "npx eslint --config ./eslint/eslint.config.ts",
8
+ "lint:fix": "npx eslint --fix --config ./eslint/eslint.config.ts",
10
9
  "test": "npm run build && node test/index.js"
11
10
  },
12
11
  "repository": {
@@ -18,7 +17,7 @@
18
17
  "time-tracking",
19
18
  "jsonl",
20
19
  "append-only"
21
- ],
20
+ ],
22
21
  "author": "SUKEsann2000",
23
22
  "license": "Apache-2.0",
24
23
  "type": "module",
@@ -27,34 +26,28 @@
27
26
  },
28
27
  "homepage": "https://github.com/SUKEsann2000/eternal-timer#readme",
29
28
  "devDependencies": {
30
- "@types/node": "^25.0.2",
29
+ "@types/node": "^25.5.0",
31
30
  "eslint": "^9.39.2",
32
31
  "globals": "^17.0.0",
33
32
  "jiti": "^2.6.1",
34
- "nodemon": "^3.1.11",
35
- "ts-node": "^10.9.2",
36
33
  "typescript": "^5.9.3",
37
34
  "typescript-eslint": "^8.52.0"
38
35
  },
39
36
  "exports": {
40
37
  ".": {
38
+ "types": "./dist/esm/index.d.ts",
41
39
  "import": "./dist/esm/index.js",
42
- "require": "./dist/cjs/index.cjs",
43
- "types": {
44
- "import": "./dist/esm/index.d.ts",
45
- "require": "./dist/cjs/index.d.ts"
46
- }
40
+ "require": "./dist/cjs/index.js"
47
41
  }
48
42
  },
49
- "types": "dist/cjs/index.d.ts",
43
+ "types": "./dist/esm/index.d.ts",
50
44
  "dependencies": {
51
45
  "uuid": "^13.0.0"
52
46
  },
53
47
  "files": [
54
48
  "dist"
55
49
  ],
56
- "module": "./dist/esm/index.js",
57
- "main": "./dist/cjs/index.cjs",
50
+ "main": "./dist/cjs/index.js",
58
51
  "optionalDependencies": {
59
52
  "@logtape/logtape": "^2.0.0"
60
53
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"TimersStore.js","sourceRoot":"","sources":["../../../src/TimersStore/TimersStore.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AAIpB,MAAsB,WAAW;IACb,SAAS,CAAS;IAErC,YACC,SAAiB;QAEjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,UAAU;QACtB,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACjE,MAAM,UAAU,GAAe,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;YAC5C,OAAO,UAAU,CAAC;QACnB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,MAAkB;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE5C,IAAI,CAAC;YACJ,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,KAAe;QACvC,IAAI,CAAC;YACJ,MAAM,YAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YACrF,OAAO;QACR,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC;IACF,CAAC;CAKD;AA1CD,kCA0CC"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes