@docusaurus/mdx-loader 4.0.0-canary-6983 → 4.0.0-canary-6986
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.
- package/lib/createMDXLoader.d.ts.map +1 -1
- package/lib/createMDXLoader.js +2 -1
- package/lib/createMDXLoader.js.map +1 -1
- package/lib/loader.js +2 -2
- package/lib/loader.js.map +1 -1
- package/lib/options.d.ts +2 -1
- package/lib/options.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/createMDXLoader.ts +3 -2
- package/src/loader.ts +2 -2
- package/src/options.ts +8 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMDXLoader.d.ts","sourceRoot":"","sources":["../src/createMDXLoader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"createMDXLoader.d.ts","sourceRoot":"","sources":["../src/createMDXLoader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAqB,OAAO,EAAC,MAAM,WAAW,CAAC;AAC3D,OAAO,KAAK,EAAC,WAAW,EAAE,cAAc,EAAC,MAAM,SAAS,CAAC;AAoCzD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,CAKpE;AAED,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,OAAO,GACR,EAAE;IACD,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,WAAW,CAOd"}
|
package/lib/createMDXLoader.js
CHANGED
|
@@ -28,9 +28,10 @@ function normalizeOptions(optionsInput) {
|
|
|
28
28
|
// We only have multiple compilers in production mode (docusaurus build)
|
|
29
29
|
// TODO wrong but good enough for now (example: "docusaurus build --dev")
|
|
30
30
|
if (!DisableCrossCompilerCache && process.env.NODE_ENV === 'production') {
|
|
31
|
+
const crossCompilerCache = new Map();
|
|
31
32
|
options = {
|
|
32
33
|
...options,
|
|
33
|
-
|
|
34
|
+
getCrossCompilerCache: () => crossCompilerCache,
|
|
34
35
|
};
|
|
35
36
|
}
|
|
36
37
|
return options;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMDXLoader.js","sourceRoot":"","sources":["../src/createMDXLoader.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,2CAA6C;AAI7C,qEAAqE;AACrE,4DAA4D;AAC5D,MAAM,yBAAyB,GAC7B,OAAO,CAAC,GAAG,CAAC,sCAAsC,KAAK,MAAM,CAAC;AAEhE,SAAS,gBAAgB,CAAC,YAAqB;IAC7C,yCAAyC;IACzC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAC1D,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,OAAO,GAAG,YAAY,CAAC;IAE3B,6EAA6E;IAC7E,2EAA2E;IAC3E,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,GAAG,EAAC,GAAG,OAAO,EAAE,UAAU,EAAE,IAAA,4BAAgB,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,CAAC;IAClE,CAAC;IAED,sEAAsE;IACtE,wDAAwD;IACxD,wEAAwE;IACxE,yEAAyE;IACzE,IAAI,CAAC,yBAAyB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QACxE,OAAO,GAAG;YACR,GAAG,OAAO;YACV,
|
|
1
|
+
{"version":3,"file":"createMDXLoader.js","sourceRoot":"","sources":["../src/createMDXLoader.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,2CAA6C;AAI7C,qEAAqE;AACrE,4DAA4D;AAC5D,MAAM,yBAAyB,GAC7B,OAAO,CAAC,GAAG,CAAC,sCAAsC,KAAK,MAAM,CAAC;AAEhE,SAAS,gBAAgB,CAAC,YAAqB;IAC7C,yCAAyC;IACzC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAC1D,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,OAAO,GAAG,YAAY,CAAC;IAE3B,6EAA6E;IAC7E,2EAA2E;IAC3E,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,GAAG,EAAC,GAAG,OAAO,EAAE,UAAU,EAAE,IAAA,4BAAgB,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,CAAC;IAClE,CAAC;IAED,sEAAsE;IACtE,wDAAwD;IACxD,wEAAwE;IACxE,yEAAyE;IACzE,IAAI,CAAC,yBAAyB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QACxE,MAAM,kBAAkB,GAAuB,IAAI,GAAG,EAAE,CAAC;QACzD,OAAO,GAAG;YACR,GAAG,OAAO;YACV,qBAAqB,EAAE,GAAG,EAAE,CAAC,kBAAkB;SAChD,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,6BAAoC,OAAgB;IAClD,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;QAClC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC;KACnC,CAAC;AACJ,CAAC;AAED,6BAAoC,EAClC,OAAO,EACP,OAAO,GAIR;IACC,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,OAAO;QACP,IAAI,EAAE,EAAC,IAAI,EAAE,EAAC,GAAG,EAAE,MAAM,EAAC,EAAC;QAC3B,GAAG,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;KACpC,CAAC;AACJ,CAAC"}
|
package/lib/loader.js
CHANGED
|
@@ -72,7 +72,7 @@ ${result.content}
|
|
|
72
72
|
// This is because client/server compilations might be triggered in parallel
|
|
73
73
|
// When this happens for the same file, we don't want to compile it twice
|
|
74
74
|
async function loadMDXWithCaching({ resource, fileContent, filePath, options, compilerName, }) {
|
|
75
|
-
const
|
|
75
|
+
const crossCompilerCache = options.getCrossCompilerCache?.();
|
|
76
76
|
if (!crossCompilerCache) {
|
|
77
77
|
return loadMDX({
|
|
78
78
|
fileContent,
|
|
@@ -92,7 +92,7 @@ async function loadMDXWithCaching({ resource, fileContent, filePath, options, co
|
|
|
92
92
|
// Note: we can't use string keys in WeakMap
|
|
93
93
|
// But we could eventually use WeakRef for the values
|
|
94
94
|
const deleteCacheEntry = () => crossCompilerCache.delete(cacheKey);
|
|
95
|
-
const cacheEntry = crossCompilerCache
|
|
95
|
+
const cacheEntry = crossCompilerCache.get(cacheKey);
|
|
96
96
|
// When deduplicating client/server compilations, we always use the client
|
|
97
97
|
// compilation and not the server compilation
|
|
98
98
|
// This is important because the server compilation usually skips some steps
|
package/lib/loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,wEAAwC;AACxC,6CAI2B;AAC3B,mCAIiB;AACjB,+CAA0C;AAM1C,KAAK,UAAU,OAAO,CAAC,EACrB,WAAW,EACX,QAAQ,EACR,OAAO,EACP,YAAY,GAMb;IACC,MAAM,EAAC,WAAW,EAAC,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC;QAClE,QAAQ;QACR,WAAW;QACX,uBAAuB,EAAE,kCAA0B;KACpD,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAE3D,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAY,EAAC;QAChC,WAAW;QACX,QAAQ;QACR,WAAW;QACX,OAAO;QACP,YAAY;KACb,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,IAAA,+BAAuB,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE1D,4EAA4E;IAC5E,6EAA6E;IAC7E,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,YAAY,IAAI,cAAc,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG;;UAEf,QAAQ;EAChB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAErC,IAAI,CAAC,OAAO,CAAC,sCAAsC,EAAE,CAAC;YACpD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACtE,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YAChC,CAAC;YACD,gBAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,SAAS,eAAe;QAC5C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,MAAM,GACV,OAAO,CAAC,YAAY,IAAI,CAAC,YAAY;QACnC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAC,QAAQ,EAAE,WAAW,EAAC,CAAC;QAC/C,CAAC,CAAC,SAAS,CAAC;IAEhB,4EAA4E;IAC5E,6BAA6B;IAC7B,MAAM,WAAW,GAAG;6BACO,IAAA,yBAAW,EAAC,WAAW,CAAC;8BACvB,IAAA,yBAAW,EAAC,YAAY,CAAC;EAErD,YAAY;QACV,CAAC,CAAC,sCAAsC,IAAA,uBAAe,EACnD,YAAY,EACZ,OAAO,CAAC,OAAO,CAChB,GAAG;QACN,CAAC,CAAC,EACN;EACE,MAAM,CAAC,CAAC,CAAC,yBAAyB,IAAA,8BAAsB,EAAC,EAAC,MAAM,EAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;CAC3E,CAAC;IAEA,MAAM,IAAI,GAAG;EACb,WAAW;EACX,MAAM,CAAC,OAAO;CACf,CAAC;IAEA,OAAO,IAAI,CAAC;AACd,CAAC;AAED,6CAA6C;AAC7C,4EAA4E;AAC5E,yEAAyE;AACzE,KAAK,UAAU,kBAAkB,CAAC,EAChC,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,OAAO,EACP,YAAY,GAOb;IACC,MAAM,
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
|
package/lib/options.d.ts
CHANGED
|
@@ -28,8 +28,9 @@ export type Options = Partial<MDXOptions> & {
|
|
|
28
28
|
resolveMarkdownLink?: ResolveMarkdownLink;
|
|
29
29
|
remarkMdxOptions?: RemarkMdxOptions;
|
|
30
30
|
processors?: SimpleProcessors;
|
|
31
|
-
|
|
31
|
+
getCrossCompilerCache?: () => CrossCompilerCache;
|
|
32
32
|
};
|
|
33
|
+
export type CrossCompilerCache = Map<string, CrossCompilerCacheEntry>;
|
|
33
34
|
type CrossCompilerCacheEntry = PromiseWithResolvers<string>;
|
|
34
35
|
export {};
|
|
35
36
|
//# sourceMappingURL=options.d.ts.map
|
package/lib/options.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,UAAU,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,YAAY,CAAC;AAE5D,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG;IAC1C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,cAAc,EAAE,cAAc,CAAC;IAC/B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7C,sCAAsC,CAAC,EAAE,OAAO,CAAC;IACjD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE;YAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;SAAC,CAAC;KACvC,KAAK;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;IAC/B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAG1C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAGpC,UAAU,CAAC,EAAE,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,UAAU,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,YAAY,CAAC;AAE5D,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG;IAC1C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,cAAc,EAAE,cAAc,CAAC;IAC/B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7C,sCAAsC,CAAC,EAAE,OAAO,CAAC;IACjD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE;YAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;SAAC,CAAC;KACvC,KAAK;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;IAC/B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAG1C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAGpC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAK9B,qBAAqB,CAAC,EAAE,MAAM,kBAAkB,CAAC;CAClD,CAAC;AAGF,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAEtE,KAAK,uBAAuB,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docusaurus/mdx-loader",
|
|
3
|
-
"version": "4.0.0-canary-
|
|
3
|
+
"version": "4.0.0-canary-6986",
|
|
4
4
|
"description": "Docusaurus Loader for MDX",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
},
|
|
15
15
|
"license": "MIT",
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@docusaurus/fs": "4.0.0-canary-
|
|
18
|
-
"@docusaurus/logger": "4.0.0-canary-
|
|
19
|
-
"@docusaurus/utils": "4.0.0-canary-
|
|
20
|
-
"@docusaurus/utils-validation": "4.0.0-canary-
|
|
17
|
+
"@docusaurus/fs": "4.0.0-canary-6986",
|
|
18
|
+
"@docusaurus/logger": "4.0.0-canary-6986",
|
|
19
|
+
"@docusaurus/utils": "4.0.0-canary-6986",
|
|
20
|
+
"@docusaurus/utils-validation": "4.0.0-canary-6986",
|
|
21
21
|
"@mdx-js/mdx": "^3.1.1",
|
|
22
22
|
"@slorber/remark-comment": "^1.0.0",
|
|
23
23
|
"astring": "^1.9.0",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"webpack": "^5.111.0"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@docusaurus/types": "4.0.0-canary-
|
|
43
|
+
"@docusaurus/types": "4.0.0-canary-6986",
|
|
44
44
|
"@types/escape-html": "^1.0.4",
|
|
45
45
|
"@types/estree": "^1.0.9",
|
|
46
46
|
"@types/hast": "^3.0.5",
|
package/src/createMDXLoader.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import {createProcessors} from './processor';
|
|
9
|
-
import type {Options} from './options';
|
|
9
|
+
import type {CrossCompilerCache, Options} from './options';
|
|
10
10
|
import type {RuleSetRule, RuleSetUseItem} from 'webpack';
|
|
11
11
|
|
|
12
12
|
// Escape hatch to disable the MDX cross-compiler cache, just in case
|
|
@@ -33,9 +33,10 @@ function normalizeOptions(optionsInput: Options): Options {
|
|
|
33
33
|
// We only have multiple compilers in production mode (docusaurus build)
|
|
34
34
|
// TODO wrong but good enough for now (example: "docusaurus build --dev")
|
|
35
35
|
if (!DisableCrossCompilerCache && process.env.NODE_ENV === 'production') {
|
|
36
|
+
const crossCompilerCache: CrossCompilerCache = new Map();
|
|
36
37
|
options = {
|
|
37
38
|
...options,
|
|
38
|
-
|
|
39
|
+
getCrossCompilerCache: () => crossCompilerCache,
|
|
39
40
|
};
|
|
40
41
|
}
|
|
41
42
|
|
package/src/loader.ts
CHANGED
|
@@ -121,7 +121,7 @@ async function loadMDXWithCaching({
|
|
|
121
121
|
options: Options;
|
|
122
122
|
compilerName: WebpackCompilerName;
|
|
123
123
|
}): Promise<string> {
|
|
124
|
-
const
|
|
124
|
+
const crossCompilerCache = options.getCrossCompilerCache?.();
|
|
125
125
|
if (!crossCompilerCache) {
|
|
126
126
|
return loadMDX({
|
|
127
127
|
fileContent,
|
|
@@ -144,7 +144,7 @@ async function loadMDXWithCaching({
|
|
|
144
144
|
// But we could eventually use WeakRef for the values
|
|
145
145
|
const deleteCacheEntry = () => crossCompilerCache.delete(cacheKey);
|
|
146
146
|
|
|
147
|
-
const cacheEntry = crossCompilerCache
|
|
147
|
+
const cacheEntry = crossCompilerCache.get(cacheKey);
|
|
148
148
|
|
|
149
149
|
// When deduplicating client/server compilations, we always use the client
|
|
150
150
|
// compilation and not the server compilation
|
package/src/options.ts
CHANGED
|
@@ -31,7 +31,14 @@ export type Options = Partial<MDXOptions> & {
|
|
|
31
31
|
|
|
32
32
|
// Will usually be created by "createMDXLoaderItem"
|
|
33
33
|
processors?: SimpleProcessors;
|
|
34
|
-
|
|
34
|
+
// We pass a getter function instead of the cache Map itself because some
|
|
35
|
+
// tools deep-clone the loader options (Rsdoctor v1 for example)
|
|
36
|
+
// Cloning a Map would break the cache shared by client/server compilers
|
|
37
|
+
// Functions are not cloned, so the getter keeps returning the shared Map
|
|
38
|
+
getCrossCompilerCache?: () => CrossCompilerCache;
|
|
35
39
|
};
|
|
36
40
|
|
|
41
|
+
// MDX => Promise<JSX> cache
|
|
42
|
+
export type CrossCompilerCache = Map<string, CrossCompilerCacheEntry>;
|
|
43
|
+
|
|
37
44
|
type CrossCompilerCacheEntry = PromiseWithResolvers<string>;
|