@ainc/fs 0.1.12 → 0.1.13

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 (138) hide show
  1. package/dist/basename.d.ts +6 -6
  2. package/dist/basename.js +16 -16
  3. package/dist/copy.d.ts +40 -40
  4. package/dist/copy.js +89 -89
  5. package/dist/cpdir.d.ts +19 -19
  6. package/dist/cpdir.js +28 -28
  7. package/dist/cwd.d.ts +6 -6
  8. package/dist/cwd.js +16 -16
  9. package/dist/dirname.d.ts +6 -6
  10. package/dist/dirname.js +30 -30
  11. package/dist/extname.d.ts +6 -6
  12. package/dist/extname.js +16 -16
  13. package/dist/filename.d.ts +6 -6
  14. package/dist/filename.js +24 -24
  15. package/dist/find.d.ts +26 -26
  16. package/dist/find.js +72 -72
  17. package/dist/findFile.d.ts +20 -20
  18. package/dist/findFile.js +39 -39
  19. package/dist/finddir.d.ts +20 -20
  20. package/dist/finddir.js +39 -39
  21. package/dist/helpers/FileResolver.d.ts +54 -0
  22. package/dist/helpers/FileResolver.d.ts.map +1 -0
  23. package/dist/helpers/FileResolver.js +184 -0
  24. package/dist/helpers/FileResolver.js.map +1 -0
  25. package/dist/helpers/compose.d.ts +14 -0
  26. package/dist/helpers/compose.d.ts.map +1 -0
  27. package/dist/helpers/compose.js +38 -0
  28. package/dist/helpers/compose.js.map +1 -0
  29. package/dist/helpers/each.d.ts +7 -0
  30. package/dist/helpers/each.d.ts.map +1 -0
  31. package/dist/helpers/each.js +21 -0
  32. package/dist/helpers/each.js.map +1 -0
  33. package/dist/helpers/match.d.ts +7 -0
  34. package/dist/helpers/match.d.ts.map +1 -0
  35. package/dist/helpers/match.js +30 -0
  36. package/dist/helpers/match.js.map +1 -0
  37. package/dist/helpers/normalizePath.d.ts +23 -0
  38. package/dist/helpers/normalizePath.d.ts.map +1 -0
  39. package/dist/helpers/normalizePath.js +37 -0
  40. package/dist/helpers/normalizePath.js.map +1 -0
  41. package/dist/helpers/safeCall.d.ts +7 -0
  42. package/dist/helpers/safeCall.d.ts.map +1 -0
  43. package/dist/helpers/safeCall.js +24 -0
  44. package/dist/helpers/safeCall.js.map +1 -0
  45. package/dist/helpers/split.d.ts +7 -0
  46. package/dist/helpers/split.d.ts.map +1 -0
  47. package/dist/helpers/split.js +25 -0
  48. package/dist/helpers/split.js.map +1 -0
  49. package/dist/homedir.d.ts +6 -6
  50. package/dist/homedir.js +31 -31
  51. package/dist/includePaths.d.ts +6 -6
  52. package/dist/includePaths.js +53 -53
  53. package/dist/index.d.ts +42 -44
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +88 -92
  56. package/dist/index.js.map +1 -1
  57. package/dist/indir.d.ts +13 -13
  58. package/dist/indir.js +26 -26
  59. package/dist/isAbsolutePath.d.ts +6 -6
  60. package/dist/isAbsolutePath.js +24 -24
  61. package/dist/isDirectory.d.ts +12 -12
  62. package/dist/isDirectory.js +26 -26
  63. package/dist/isRelativePath.d.ts +6 -6
  64. package/dist/isRelativePath.js +44 -44
  65. package/dist/json.d.ts +21 -21
  66. package/dist/json.js +33 -33
  67. package/dist/jsonc.d.ts +21 -21
  68. package/dist/jsonc.js +40 -40
  69. package/dist/lstat.d.ts +22 -22
  70. package/dist/lstat.js +30 -30
  71. package/dist/mapdir.d.ts +22 -22
  72. package/dist/mapdir.js +42 -42
  73. package/dist/mkdir.d.ts +6 -6
  74. package/dist/mkdir.js +37 -37
  75. package/dist/normalizeJSON.d.ts +6 -6
  76. package/dist/normalizeJSON.js +144 -144
  77. package/dist/readFile.d.ts +29 -29
  78. package/dist/readFile.js +26 -26
  79. package/dist/readStream.d.ts +36 -36
  80. package/dist/readStream.js +19 -19
  81. package/dist/readdir.d.ts +16 -16
  82. package/dist/readdir.js +34 -34
  83. package/dist/readline.d.ts +16 -16
  84. package/dist/readline.js +24 -24
  85. package/dist/realpath.d.ts +12 -12
  86. package/dist/realpath.js +32 -32
  87. package/dist/relative.d.ts +6 -6
  88. package/dist/relative.js +38 -38
  89. package/dist/resolve.d.ts +26 -26
  90. package/dist/resolve.js +53 -53
  91. package/dist/resolvePath.d.ts +27 -0
  92. package/dist/resolvePath.d.ts.map +1 -0
  93. package/dist/resolvePath.js +178 -0
  94. package/dist/resolvePath.js.map +1 -0
  95. package/dist/rmdir.d.ts +6 -6
  96. package/dist/rmdir.js +40 -40
  97. package/dist/stat.d.ts +21 -21
  98. package/dist/stat.js +30 -30
  99. package/dist/supdir.d.ts +21 -15
  100. package/dist/supdir.d.ts.map +1 -1
  101. package/dist/supdir.js +62 -35
  102. package/dist/supdir.js.map +1 -1
  103. package/dist/symlink.d.ts +22 -22
  104. package/dist/symlink.js +39 -39
  105. package/dist/unlink.d.ts +6 -6
  106. package/dist/unlink.js +28 -28
  107. package/dist/usedir.d.ts +6 -6
  108. package/dist/usedir.js +24 -24
  109. package/dist/writeFile.d.ts +33 -33
  110. package/dist/writeFile.js +49 -49
  111. package/dist/writeStream.d.ts +35 -35
  112. package/dist/writeStream.js +19 -19
  113. package/package.json +2 -2
  114. package/src/helpers/FileResolver.ts +282 -0
  115. package/src/helpers/compose.ts +49 -0
  116. package/src/helpers/each.ts +19 -0
  117. package/src/helpers/match.ts +31 -0
  118. package/src/helpers/normalizePath.ts +51 -0
  119. package/src/helpers/safeCall.ts +21 -0
  120. package/src/helpers/split.ts +25 -0
  121. package/src/index.ts +1 -3
  122. package/src/resolvePath.ts +234 -0
  123. package/src/supdir.ts +31 -0
  124. package/dist/resolveFile.d.ts +0 -22
  125. package/dist/resolveFile.d.ts.map +0 -1
  126. package/dist/resolveFile.js +0 -80
  127. package/dist/resolveFile.js.map +0 -1
  128. package/dist/resolveModule.d.ts +0 -41
  129. package/dist/resolveModule.d.ts.map +0 -1
  130. package/dist/resolveModule.js +0 -119
  131. package/dist/resolveModule.js.map +0 -1
  132. package/dist/resolvePaths.d.ts +0 -22
  133. package/dist/resolvePaths.d.ts.map +0 -1
  134. package/dist/resolvePaths.js +0 -233
  135. package/dist/resolvePaths.js.map +0 -1
  136. package/src/resolveFile.ts +0 -103
  137. package/src/resolveModule.ts +0 -157
  138. package/src/resolvePaths.ts +0 -320
package/dist/readdir.js CHANGED
@@ -1,35 +1,35 @@
1
- /**
2
- *****************************************
3
- * Created by edonet@163.com
4
- * Created on 2019-11-07 16:20:26
5
- *****************************************
6
- */
7
- 'use strict';
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.readdir = void 0;
10
- /**
11
- *****************************************
12
- * 加载依赖
13
- *****************************************
14
- */
15
- const fs = require("fs");
16
- const path = require("path");
17
- const isDirectory_1 = require("./isDirectory");
18
- /**
19
- *****************************************
20
- * 读取目录
21
- *****************************************
22
- */
23
- function readdir(dir) {
24
- let stats = isDirectory_1.isDirectory(dir);
25
- // 存在目录
26
- if (stats) {
27
- dir = stats.path;
28
- // 读取文件夹
29
- return fs.readdirSync(dir).map(name => ({ name, path: path.join(dir, name) }));
30
- }
31
- // 返回对象
32
- return [];
33
- }
34
- exports.readdir = readdir;
1
+ /**
2
+ *****************************************
3
+ * Created by edonet@163.com
4
+ * Created on 2019-11-07 16:20:26
5
+ *****************************************
6
+ */
7
+ 'use strict';
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.readdir = void 0;
10
+ /**
11
+ *****************************************
12
+ * 加载依赖
13
+ *****************************************
14
+ */
15
+ const fs = require("fs");
16
+ const path = require("path");
17
+ const isDirectory_1 = require("./isDirectory");
18
+ /**
19
+ *****************************************
20
+ * 读取目录
21
+ *****************************************
22
+ */
23
+ function readdir(dir) {
24
+ let stats = isDirectory_1.isDirectory(dir);
25
+ // 存在目录
26
+ if (stats) {
27
+ dir = stats.path;
28
+ // 读取文件夹
29
+ return fs.readdirSync(dir).map(name => ({ name, path: path.join(dir, name) }));
30
+ }
31
+ // 返回对象
32
+ return [];
33
+ }
34
+ exports.readdir = readdir;
35
35
  //# sourceMappingURL=readdir.js.map
@@ -1,17 +1,17 @@
1
- /// <reference types="node" />
2
- import { Readable } from 'stream';
3
- import { Options } from './readStream';
4
- /**
5
- *****************************************
6
- * 逐行读取
7
- *****************************************
8
- */
9
- declare function readline(path: string, encoding?: string): Readable;
10
- declare function readline(path: string, options?: Options): Readable;
11
- /**
12
- *****************************************
13
- * 抛出接口
14
- *****************************************
15
- */
16
- export { readline };
1
+ /// <reference types="node" />
2
+ import { Readable } from 'stream';
3
+ import { Options } from './readStream';
4
+ /**
5
+ *****************************************
6
+ * 逐行读取
7
+ *****************************************
8
+ */
9
+ declare function readline(path: string, encoding?: string): Readable;
10
+ declare function readline(path: string, options?: Options): Readable;
11
+ /**
12
+ *****************************************
13
+ * 抛出接口
14
+ *****************************************
15
+ */
16
+ export { readline };
17
17
  //# sourceMappingURL=readline.d.ts.map
package/dist/readline.js CHANGED
@@ -1,25 +1,25 @@
1
- /**
2
- *****************************************
3
- * Created by edonet@163.com
4
- * Created on 2021-05-22 11:53:49
5
- *****************************************
6
- */
7
- 'use strict';
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.readline = void 0;
10
- /**
11
- *****************************************
12
- * 加载依赖
13
- *****************************************
14
- */
15
- const fs = require("fs");
16
- const stream_1 = require("stream");
17
- const readline_1 = require("readline");
18
- function readline(path, options) {
19
- const input = fs.createReadStream(path, options);
20
- const readable = stream_1.Readable.from(readline_1.createInterface({ input, crlfDelay: Infinity }));
21
- // 返回可读流
22
- return readable;
23
- }
24
- exports.readline = readline;
1
+ /**
2
+ *****************************************
3
+ * Created by edonet@163.com
4
+ * Created on 2021-05-22 11:53:49
5
+ *****************************************
6
+ */
7
+ 'use strict';
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.readline = void 0;
10
+ /**
11
+ *****************************************
12
+ * 加载依赖
13
+ *****************************************
14
+ */
15
+ const fs = require("fs");
16
+ const stream_1 = require("stream");
17
+ const readline_1 = require("readline");
18
+ function readline(path, options) {
19
+ const input = fs.createReadStream(path, options);
20
+ const readable = stream_1.Readable.from(readline_1.createInterface({ input, crlfDelay: Infinity }));
21
+ // 返回可读流
22
+ return readable;
23
+ }
24
+ exports.readline = readline;
25
25
  //# sourceMappingURL=readline.js.map
@@ -1,13 +1,13 @@
1
- /**
2
- *****************************************
3
- * 获取基准路径
4
- *****************************************
5
- */
6
- export declare const baseDir: string;
7
- /**
8
- *****************************************
9
- * 解析真实地址
10
- *****************************************
11
- */
12
- export declare function realpath(path: string): string;
1
+ /**
2
+ *****************************************
3
+ * 获取基准路径
4
+ *****************************************
5
+ */
6
+ export declare const baseDir: string;
7
+ /**
8
+ *****************************************
9
+ * 解析真实地址
10
+ *****************************************
11
+ */
12
+ export declare function realpath(path: string): string;
13
13
  //# sourceMappingURL=realpath.d.ts.map
package/dist/realpath.js CHANGED
@@ -1,33 +1,33 @@
1
- /**
2
- *****************************************
3
- * Created by edonet@163.com
4
- * Created on 2021-07-17 17:42:34
5
- *****************************************
6
- */
7
- 'use strict';
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.realpath = exports.baseDir = void 0;
10
- /**
11
- *****************************************
12
- * 加载依赖
13
- *****************************************
14
- */
15
- const fs_1 = require("fs");
16
- const path_1 = require("path");
17
- const isAbsolutePath_1 = require("./isAbsolutePath");
18
- /**
19
- *****************************************
20
- * 获取基准路径
21
- *****************************************
22
- */
23
- exports.baseDir = fs_1.realpathSync(process.cwd());
24
- /**
25
- *****************************************
26
- * 解析真实地址
27
- *****************************************
28
- */
29
- function realpath(path) {
30
- return isAbsolutePath_1.isAbsolutePath(path) ? fs_1.realpathSync(path) : path_1.resolve(exports.baseDir, path);
31
- }
32
- exports.realpath = realpath;
1
+ /**
2
+ *****************************************
3
+ * Created by edonet@163.com
4
+ * Created on 2021-07-17 17:42:34
5
+ *****************************************
6
+ */
7
+ 'use strict';
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.realpath = exports.baseDir = void 0;
10
+ /**
11
+ *****************************************
12
+ * 加载依赖
13
+ *****************************************
14
+ */
15
+ const fs_1 = require("fs");
16
+ const path_1 = require("path");
17
+ const isAbsolutePath_1 = require("./isAbsolutePath");
18
+ /**
19
+ *****************************************
20
+ * 获取基准路径
21
+ *****************************************
22
+ */
23
+ exports.baseDir = fs_1.realpathSync(process.cwd());
24
+ /**
25
+ *****************************************
26
+ * 解析真实地址
27
+ *****************************************
28
+ */
29
+ function realpath(path) {
30
+ return isAbsolutePath_1.isAbsolutePath(path) ? fs_1.realpathSync(path) : path_1.resolve(exports.baseDir, path);
31
+ }
32
+ exports.realpath = realpath;
33
33
  //# sourceMappingURL=realpath.js.map
@@ -1,7 +1,7 @@
1
- /**
2
- *****************************************
3
- * 获取相对路径
4
- *****************************************
5
- */
6
- export declare function relative(from: string, to: string): string;
1
+ /**
2
+ *****************************************
3
+ * 获取相对路径
4
+ *****************************************
5
+ */
6
+ export declare function relative(from: string, to: string): string;
7
7
  //# sourceMappingURL=relative.d.ts.map
package/dist/relative.js CHANGED
@@ -1,39 +1,39 @@
1
- /**
2
- *****************************************
3
- * Created by edonet@163.com
4
- * Created on 2021-04-18 15:00:57
5
- *****************************************
6
- */
7
- 'use strict';
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.relative = void 0;
10
- /**
11
- *****************************************
12
- * 获取相对路径
13
- *****************************************
14
- */
15
- const path = require("path");
16
- /**
17
- *****************************************
18
- * 获取相对路径
19
- *****************************************
20
- */
21
- function relative(from, to) {
22
- let result = path.relative(from, to);
23
- // 替换分隔符
24
- if (path.sep === '\\') {
25
- result = result.split('\\').join('/');
26
- }
27
- // 补全相对路径
28
- if (result.charAt(0) !== '.') {
29
- return './' + result;
30
- }
31
- // 纯目录
32
- if (['..', '.'].includes(result) || result.endsWith('/..')) {
33
- return result + '/';
34
- }
35
- // 返回结果
36
- return result;
37
- }
38
- exports.relative = relative;
1
+ /**
2
+ *****************************************
3
+ * Created by edonet@163.com
4
+ * Created on 2021-04-18 15:00:57
5
+ *****************************************
6
+ */
7
+ 'use strict';
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.relative = void 0;
10
+ /**
11
+ *****************************************
12
+ * 获取相对路径
13
+ *****************************************
14
+ */
15
+ const path = require("path");
16
+ /**
17
+ *****************************************
18
+ * 获取相对路径
19
+ *****************************************
20
+ */
21
+ function relative(from, to) {
22
+ let result = path.relative(from, to);
23
+ // 替换分隔符
24
+ if (path.sep === '\\') {
25
+ result = result.split('\\').join('/');
26
+ }
27
+ // 补全相对路径
28
+ if (result.charAt(0) !== '.') {
29
+ return './' + result;
30
+ }
31
+ // 纯目录
32
+ if (['..', '.'].includes(result) || result.endsWith('/..')) {
33
+ return result + '/';
34
+ }
35
+ // 返回结果
36
+ return result;
37
+ }
38
+ exports.relative = relative;
39
39
  //# sourceMappingURL=relative.js.map
package/dist/resolve.d.ts CHANGED
@@ -1,27 +1,27 @@
1
- /**
2
- *****************************************
3
- * 解析配置
4
- *****************************************
5
- */
6
- export interface Options {
7
- ext?: string;
8
- test?: RegExp;
9
- exclude?: string[];
10
- }
11
- /**
12
- *****************************************
13
- * 资源对象
14
- *****************************************
15
- */
16
- export interface Asset {
17
- type: 'dir' | 'file';
18
- dir: string;
19
- files: string[];
20
- }
21
- /**
22
- *****************************************
23
- * 解析文件
24
- *****************************************
25
- */
26
- export declare function resolve(dir: string | string[], options?: Options): Asset[];
1
+ /**
2
+ *****************************************
3
+ * 解析配置
4
+ *****************************************
5
+ */
6
+ export interface Options {
7
+ ext?: string;
8
+ test?: RegExp;
9
+ exclude?: string[];
10
+ }
11
+ /**
12
+ *****************************************
13
+ * 资源对象
14
+ *****************************************
15
+ */
16
+ export interface Asset {
17
+ type: 'dir' | 'file';
18
+ dir: string;
19
+ files: string[];
20
+ }
21
+ /**
22
+ *****************************************
23
+ * 解析文件
24
+ *****************************************
25
+ */
26
+ export declare function resolve(dir: string | string[], options?: Options): Asset[];
27
27
  //# sourceMappingURL=resolve.d.ts.map
package/dist/resolve.js CHANGED
@@ -1,54 +1,54 @@
1
- /**
2
- *****************************************
3
- * Created by edonet@163.com
4
- * Created on 2021-04-18 12:10:46
5
- *****************************************
6
- */
7
- 'use strict';
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.resolve = void 0;
10
- /**
11
- *****************************************
12
- * 加载依赖
13
- *****************************************
14
- */
15
- const stat_1 = require("./stat");
16
- const dirname_1 = require("./dirname");
17
- const findFile_1 = require("./findFile");
18
- /**
19
- *****************************************
20
- * 解析文件
21
- *****************************************
22
- */
23
- function resolve(dir, options = {}) {
24
- const input = Array.isArray(dir) ? dir : [dir];
25
- const name = options.ext ? options.ext + '$' : options.test || '*';
26
- const ignore = options.exclude ? ['node_modules', ...options.exclude] : ['node_modules'];
27
- const assets = [];
28
- // 解析文件
29
- input.forEach(str => {
30
- const stats = stat_1.stat(str);
31
- // 不存在目录
32
- if (!stats) {
33
- return;
34
- }
35
- // 文件入口
36
- if (!stats.isDirectory()) {
37
- return assets.push({
38
- type: 'file',
39
- dir: dirname_1.dirname(stats.path),
40
- files: [stats.path],
41
- });
42
- }
43
- // 处理文件夹
44
- assets.push({
45
- type: 'dir',
46
- dir: stats.path,
47
- files: findFile_1.findFile(name, stats.path, { ignore }),
48
- });
49
- });
50
- // 返回结果
51
- return assets;
52
- }
53
- exports.resolve = resolve;
1
+ /**
2
+ *****************************************
3
+ * Created by edonet@163.com
4
+ * Created on 2021-04-18 12:10:46
5
+ *****************************************
6
+ */
7
+ 'use strict';
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.resolve = void 0;
10
+ /**
11
+ *****************************************
12
+ * 加载依赖
13
+ *****************************************
14
+ */
15
+ const stat_1 = require("./stat");
16
+ const dirname_1 = require("./dirname");
17
+ const findFile_1 = require("./findFile");
18
+ /**
19
+ *****************************************
20
+ * 解析文件
21
+ *****************************************
22
+ */
23
+ function resolve(dir, options = {}) {
24
+ const input = Array.isArray(dir) ? dir : [dir];
25
+ const name = options.ext ? options.ext + '$' : options.test || '*';
26
+ const ignore = options.exclude ? ['node_modules', ...options.exclude] : ['node_modules'];
27
+ const assets = [];
28
+ // 解析文件
29
+ input.forEach(str => {
30
+ const stats = stat_1.stat(str);
31
+ // 不存在目录
32
+ if (!stats) {
33
+ return;
34
+ }
35
+ // 文件入口
36
+ if (!stats.isDirectory()) {
37
+ return assets.push({
38
+ type: 'file',
39
+ dir: dirname_1.dirname(stats.path),
40
+ files: [stats.path],
41
+ });
42
+ }
43
+ // 处理文件夹
44
+ assets.push({
45
+ type: 'dir',
46
+ dir: stats.path,
47
+ files: findFile_1.findFile(name, stats.path, { ignore }),
48
+ });
49
+ });
50
+ // 返回结果
51
+ return assets;
52
+ }
53
+ exports.resolve = resolve;
54
54
  //# sourceMappingURL=resolve.js.map
@@ -0,0 +1,27 @@
1
+ /**
2
+ *****************************************
3
+ * 加载依赖
4
+ *****************************************
5
+ */
6
+ import { Handler, Options as FileOptions } from './helpers/FileResolver';
7
+ /**
8
+ *****************************************
9
+ * 选项
10
+ *****************************************
11
+ */
12
+ export interface Options extends FileOptions {
13
+ baseUrl?: string;
14
+ paths?: {
15
+ [key: string]: string[];
16
+ };
17
+ alias?: {
18
+ [key: string]: string | string[];
19
+ };
20
+ }
21
+ /**
22
+ *****************************************
23
+ * 解析文件
24
+ *****************************************
25
+ */
26
+ export declare function resolvePath(options?: Options): Handler;
27
+ //# sourceMappingURL=resolvePath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolvePath.d.ts","sourceRoot":"","sources":["../src/resolvePath.ts"],"names":[],"mappings":"AASA;;;;GAIG;AACH,OAAO,EAAoC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAyL3G;;;;GAIG;AACH,MAAM,WAAW,OAAQ,SAAQ,WAAW;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QACJ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KAC3B,CAAC;IACF,KAAK,CAAC,EAAE;QACJ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;KACpC,CAAC;CACL;AAGD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAE,OAAY,GAAG,OAAO,CAa1D"}